Search Results

Search found 14399 results on 576 pages for 'python noob'.

Page 175/576 | < Previous Page | 171 172 173 174 175 176 177 178 179 180 181 182  | Next Page >

  • bulls and cows game -- programming algorithm(python)

    - by IcyFlame
    This is a simulation of the game Cows and Bulls with three digit numbers I am trying to get the number of cows and bulls between two numbers. One of which is generated by the computer and the other is guessed by the user. I have parsed the two numbers I have so that now I have two lists with three elements each and each element is one of the digits in the number. So: 237 will give the list [2,3,7]. And I make sure that the relative indices are maintained.the general pattern is:(hundreds, tens, units). And these two lists are stored in the two lists: machine and person. ALGORITHM 1 So, I wrote the following code, The most intuitive algorithm: cows and bulls are initialized to 0 before the start of this loop. for x in person: if x in machine: if machine.index(x) == person.index(x): bulls += 1 print x,' in correct place' else: print x,' in wrong place' cows += 1 And I started testing this with different type of numbers guessed by the computer. Quite randomly, I decided on 277. And I guessed 447. Here, I got the first clue that this algorithm may not work. I got 1 cow and 0 bulls. Whereas I should have got 1 bull and 1 cow. This is a table of outputs with the first algorithm: Guess Output Expected Output 447 0 bull, 1 cow 1 bull, 1 cow 477 2 bulls, 0 cows 2 bulls, 0 cows 777 0 bulls, 3 cows 2 bulls, 0 cows So obviously this algorithm was not working when there are repeated digits in the number randomly selected by the computer. I tried to understand why these errors are taking place, But I could not. I have tried a lot but I just could not see any mistake in the algorithm(probably because I wrote it!) ALGORITHM 2 On thinking about this for a few days I tried this: cows and bulls are initialized to 0 before the start of this loop. for x in range(3): for y in range(3): if x == y and machine[x] == person[y]: bulls += 1 if not (x == y) and machine[x] == person[y]: cows += 1 I was more hopeful about this one. But when I tested this, this is what I got: Guess Output Expected Output 447 1 bull, 1 cow 1 bull, 1 cow 477 2 bulls, 2 cows 2 bulls, 0 cows 777 2 bulls, 4 cows 2 bulls, 0 cows The mistake I am making is quite clear here, I understood that the numbers were being counted again and again. i.e.: 277 versus 477 When you count for bulls then the 2 bulls come up and thats alright. But when you count for cows: the 7 in 277 at units place is matched with the 7 in 477 in tens place and thus a cow is generated. the 7 in 277 at tens place is matched with the 7 in 477 in units place and thus a cow is generated.' Here the matching is exactly right as I have written the code as per that. But this is not what I want. And I have no idea whatsoever on what to do after this. Furthermore... I would like to stress that both the algorithms work perfectly, if there are no repeated digits in the number selected by the computer. Please help me with this issue. P.S.: I have been thinking about this for over a week, But I could not post a question earlier as my account was blocked(from asking questions) because I asked a foolish question. And did not delete it even though I got 2 downvotes immediately after posting the question.

    Read the article

  • Python how to convert this for loop into a while loop

    - by user1690198
    I have this for a for loop which I made I was wondering how I would write so it would work with a while loop. def scrollList(myList): negativeIndices=[] for i in range(0,len(myList)): if myList[i]<0: negativeIndices.append(i) return negativeIndices So far I have this def scrollList2(myList): negativeIndices=[] i= 0 length= len(myList) while i != length: if myList[i]<0: negativeIndices.append(i) i=i+1 return negativeIndices

    Read the article

  • Python | How to append elements to a list randomly

    - by MMRUser
    Is there a way to append elements to a list randomly, built in function ex: def random_append(): lst = ['a'] lst.append('b') lst.append('c') lst.append('d') lst.append('e') return print lst this will out put ['a', 'b', 'c', 'd', 'e'] But I want it to add elements randomly and out put something like this: ['b', 'd', 'b', 'e', 'c'] And yes there's a function random.shuffle() but it shuffles a list at once which I don't require, I just want to perform random inserts only.

    Read the article

  • python check value not in unicode list

    - by John
    Hi, I have a list and a value and want to check if the value is not in the list. list = [u'first record', u'second record'] value = 'first record' if value not in list: do something however this is not working and I think it has something to do with the list values having a u at the start, how can I fix this? And before someone suggests the list is returned from Django queryset so I can't just take the u out of the code :) Thanks

    Read the article

  • Python 2.7 creating a multidimensional list

    - by poop
    I don't know why I am having so much trouble creating a 3 dimensional list. I need the program to create an empty n by n list. So for n = 4: x = [[[],[],[],[]],[[],[],[],[]],[[],[],[],[]],[[],[],[],[]]] I've tried using: y = [n*[n*[]]] y = [[[]]* n for i in range(n)] Which both appear to be creating copies of a reference. I've also tried naieve application of the list builder with little success: y = [[[]* n for i in range(n)]* n for i in range(n)] y = [[[]* n for i in range(1)]* n for i in range(n)] I've also tried building up the array iteratively using loops, with no success. In my rapid flurry of attempts to not post something stupidly easy to SO, I came upon a solution: y = [] for i in range(0,n): y.append([[]*n for i in range(n)]) Is there an easier/ more intuitive way of doing this?

    Read the article

  • Reading from CSVs in Python repeatedly?

    - by matt
    I'm trying to check the value of extracted data against a csv I already have. It will only loop through the rows of the CSV once, I can only check one value of feed.items(). Is there a value I need to reset somewhere? Is there a better/more efficient way to do this? Thanks. orig = csv.reader(open("googlel.csv", "rb"), delimiter = ';') goodrows = [] for feed in gotfeeds: for link,comments in feed.items(): for row in orig: print link if link in row[1]: row.append(comments) goodrows.append(row)

    Read the article

  • Problem with python !!

    - by the-ifl
    Well I Have a little problem , i want to Get the sum of all numbers below to 1000000 , and who has 4 Divisors... I Try but i have a problem : http://pastebin.com/bhiDb5fe

    Read the article

  • good practice for string.partition in python

    - by user1544915
    some case i write code like these: a,temp,b = s.partition('-') i just need to pick the first and 3rd element. temp would never be used. is there a better way to do this? the common case is ,a better way to pick separted element to make a new list? for example i want to make a new list use old list 0,1,3,7 element code would be this: newlist = [oldlist[0],oldlist[1],oldlist[3],oldlist[7]] it's pretty ugly,isn't it?

    Read the article

  • Invoking a function of library libfprint in Python

    - by Ivanelson
    I need help to call a function(Struct C) that detects the devices, so I'm calling the function this way: from ctypes import * fp = CDLL('./libfprint.so.0') fp.fp_discover_devs.argtypes = None fp.fp_discover_devs.restype = c_char_p ret = fp.fp_discover_devs() print ret # is "0" That is not detected any device, because the return is "0". See the documentation of the function: I'm using Ubuntu and I downloaded the "fprint_demo" and works perfectly. Did you install any package missing? Thanks.

    Read the article

  • Python: Sort a dictionary by value

    - by the empirical programmer
    I have a dictionary of values read from 2 fields in a database: a string field and a numeric field. The string field is unique so that is the key of the dictionary. I can sort on the keys, but how can I sort based on the values? Note: I have read this post 72899 and probably could change my code to have a list of dictionaries but since I do not really need a list of dictionaries I wanted to know if there a simpler solution.

    Read the article

  • (Python) Extracting Text from Source Code?

    - by zhuyxn
    Currently have a large webpage whose source code is ~200,000 lines of almost all (if not all) HTML. More specifically, it is a webpage whose content is a few thousand blocks of paragraphs separated by line breaks (though a line break does not specifically mean there is a separation in content) My main objective is to extract text from the source code as if I were copying/pasting the webpage into a text editor. There is another parsing function I would like to use, which originally took in copied/pasted text rather than the source code. To do this, I'm currently using urllib2, and calling .get_text() in Beautiful Soup. The problem is, Beautiful Soup is leaving tremendous amounts of white space in my code, and it is difficult to pass the result into the second "text" parser. I have done quite a bit of research on parsing HTMLs, but I'm frankly not sure how to solve this problem easily. Furthermore, I'm a bit confused on how to use imports like lxml to extract text as if I were to simply copy and paste?

    Read the article

  • check if a process is running in python

    - by shash
    I am trying to find if the process is running based on process id. The code is as follows based on one of the post on the forum. I cannot consider process name as there are more than one process running with the same name. def findProcess( processId ): ps= subprocess.Popen("ps -ef | grep "+processId, shell=True, stdout=subprocess.PIPE) output = ps.stdout.read() ps.stdout.close() ps.wait() return output def isProcessRunning( processId): output = findProcess( processId ) if re.search(processId, output) is None: return true else: return False Output : 1111 72312 72311 0 0:00.00 ttys000 0:00.00 /bin/sh -c ps -ef | grep 71676 1111 72314 72312 0 0:00.00 ttys000 0:00.00 grep 71676 It always return true as it can find the process id in the output string. Any suggestions? Thanks for any help.

    Read the article

  • Python if statement not working as expected

    - by Chris Esposito
    I'm searching for a string in a website and checking to see if the location of this string is in the expected location. I know the string starts at the 182nd character, and if I print temp it will even tell me that it is 182, however, the if statement says 182 is not 182. Some code f = urllib.urlopen(link) #store page contents in 's' s = f.read() f.close() temp = s.find('lettersandnumbers') if (htmlsize == "197"): #if ((s.find('lettersandnumbers')) == "182"): if (temp=="182"): print "Glorious" doStuff() else: print "HTML not correct. Aborting." else: print htmlsize print "File size is incorrect. Aborting."

    Read the article

  • Parsing groupings of strings (Python)

    - by j00niner
    I have a string that looks something like this: [["Name1","ID1","DDY1", "CALL1", "WHEN1"], ["Name2","ID2","DDY2", "CALL2", "WHEN2"],...]; This string was taking from a website. Their can be any amount of groupings. How could I parse this string and print just the Name variables of each grouping?

    Read the article

  • A way to use Python which I don't know

    - by Konie
    In this quicksort function: def qsort2(list): if list == []: return [] else: pivot = list[0] # can't understand the following line lesser, equal, greater = partition(list[1:], [], [pivot], []) return qsort2(lesser) + equal + qsort2(greater) def partition(list, l, e, g): if list == []: return (l, e, g) else: head = list[0] if head < e[0]: return partition(list[1:], l + [head], e, g) elif head > e[0]: return partition(list[1:], l, e, g + [head]) else: return partition(list[1:], l, e + [head], g) I don't understand the sentence below the comment. Can someone tell me what is the meaning of this sentence here?

    Read the article

  • Python: Determine whether list of lists contains a defined sequence

    - by duhaime
    I have a list of sublists, and I want to see if any of the integer values from the first sublist plus one are contained in the second sublist. For all such values, I want to see if that value plus one is contained in the third sublist, and so on, proceeding in this fashion across all sublists. If there is a way of proceeding in this fashion from the first sublist to the last sublist, I wish to return True; otherwise I wish to return False. In other words, for each value in sublist one, for each "step" in a "walk" across all sublists read left to right, if that value + n (where n = number of steps taken) is contained in the current sublist, the function should return True; otherwise it should return False. (Sorry for the clumsy phrasing--I'm not sure how to clean up my language without using many more words.) Here's what I wrote. a = [ [1,3],[2,4],[3,5],[6],[7] ] def find_list_traversing_walk(l): for i in l[0]: index_position = 0 first_pass = 1 walking_current_path = 1 while walking_current_path == 1: if first_pass == 1: first_pass = 0 walking_value = i if walking_value+1 in l[index_position + 1]: index_position += 1 walking_value += 1 if index_position+1 == len(l): print "There is a walk across the sublists for initial value ", walking_value - index_position return True else: walking_current_path = 0 return False print find_list_traversing_walk(a) My question is: Have I overlooked something simple here, or will this function return True for all true positives and False for all true negatives? Are there easier ways to accomplish the intended task? I would be grateful for any feedback others can offer!

    Read the article

< Previous Page | 171 172 173 174 175 176 177 178 179 180 181 182  | Next Page >