On 2011-10-09 07:16, col speed wrote:
The part of the script that is causing the problem is as follows:

def point(num):
     while True:
         raw_input("Roll")
         uno, dos = random.choice(dice), random.choice(dice)
         three = uno+dos
         print "{0} + {1} = {2}".format(uno, dos, three)
         print "Point is {0}. You scored {1}.".format(num, three)
         if three == num:
             return "win"
         if three == 7:
             return "lose"
         else:
             print "Try again."

What I have tried to do is - simulate dice throws, if the total is the same
as originally thrown, return from the function(this works). If I throw a 7,
I also want to return(this does not work as you can see from this sample
output:

I'm pretty sure that your problem is not in the code snippet you have shown us. Here it works as expected (I've copied your code, added "import random" and "dice = [1, 2, 3, 4, 5, 6]" at the top and saved as "dice.py"):

Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24)
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import dice
>>> dice.point(1)
Roll
4 + 5 = 9
Point is 1. You scored 9.
Try again.
Roll
4 + 3 = 7
Point is 1. You scored 7.
'lose'
>>>

Please show us the part where you use the "point" function.

Bye, Andreas
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to