[Tutor] Hangman game.....problem putting strings in a list.....

Yasin Yaqoobi yasinyaqoobi at gmail.com
Tue Dec 21 10:06:52 CET 2010


global line
global index;
guessed = ["-"];
count = 0;
wrong = 0;

def guess(letter):
     global guessed
     if (letter in line):
         index = line.index(letter);
         print guessed;

# This is the line that gives me the error don't know why?  
guessed[index] = " " + (letter); ,TypeError: 'str' object does not 
support item assignment
         guessed[index] = (letter);
         print ' '.join(guessed)
     else:
         global wrong;
         wrong += 1;


def draw(number):
     if (number == 1):
         print "        O         ";
     elif(number == 2):
         print "        O         ";
         print "        |         ";
     elif (number == 3):
         print "        O         ";
         print "       \|         ";

     elif (number == 4):
         print "        O          ";
         print "       \|/         ";
     elif (number == 5):
         print "        O          ";
         print "       \|/         ";
         print "        |          ";
     elif (number == 6):
         print "        O          ";
         print "       \|/         ";
         print "        |          ";
         print "       /           ";
     elif (number == 7):
         print "        O          ";
         print "       \|/         ";
         print "        |          ";
         print "       / \         ";
         print "Sorry you Lost! "

def doit():
     global count
     while(wrong != 7):
         a_letter = raw_input("Pick a letter --> ")
         print
         guess(a_letter);
         draw(wrong);
         print
         count += 1

def initArray():
     global guessed
     print line
     guessed =  guessed[0] * (len(line)-1)
     print "this is new list " + guessed;


while 1:
     line = file.readline();
     if (len(line) >= 5):
         initArray()
         doit();
         break
     if not line: break

file.close()



More information about the Tutor mailing list