Skylar Struble wrote:
ok so im working on a text based rpg game and am trying to get this
code to work,

items = ['crate', 'grave']
lookwords = ['look', 'examine', 'investigate','open')
input1 = raw_input('What do you want to do:')
for word in items:
    for word2 in lookwords:
         if word and word2 in input1:
            print 'you look in the crate and find a map!'
         else:
            print 'sorry you used a word i didnt understand'

it prints out all of the print things 2 times when i want it to print
1 or the other because what im trying to do is see if the input1 has
both an item from items and lookwords in the string and if so print
you look in the map or if it finds 1 or none to print sorry you used a
word i didnt understand


thanks for takeing the time to read this and gl.
_______________________________________________
Tutor maillist  -  [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

What you could do is transform it a little to something like the following:

items = ['crate', 'grave']
lookwords = ['look', 'examine', 'investigate','open')
input1 = raw_input('What do you want to do:')
success = False
for lw in lookwords:
   if lw in input1:
       for iw in items:
           if iw in input1:
               print 'You %s and found a map.' % input1
               success = True
           if success:
               break
   if success:
       break
if not success:
   print 'You used a word I did not understand'

That will first check to see if any of your `lookwords` are contained in the 
input (if they're not there why bother continuing as they haven't chosen a 
valid action) and if their input does contain the action then carry on and 
check to see if a valid item was selected.

If a valid item was selected then the variable `success` will be made True and 
before the next iteration it will break out of the loop (useful for speed if 
you have large lists of objects / actions to get through).  If it loops through 
everything and doesn't find any matches it will print out 'You used a word I 
did not understand' because the success variable is still False.

This is just a rather basic idea, but it will get the job done.

--
Kind Regards,
Christian Witts


_______________________________________________
Tutor maillist  -  [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to