import random
times = 1
def roll_dice():
m = random.randint(1, 6)
n = random.randint(1, 6)
print("Player rolled %d+%d = %d" % (a, b, a + b))
return m, n
def display_dice():
print("Player rolled %d+%d=%d" % (a, b, a + b))
craps = {2, 3, 12}
while 1:
a, b = roll_dice()
if times == 1:
point = a + b
if a + b == 7 or a + b == 11:
print("Player wins")
times += 1
break
elif a + b in craps:
print("Player loses")
times += 1
break
else:
print("Point is", point)
times += 1
continue
else:
if a + b == 7:
print("Player loses")
break
elif a + b == point:
print("Player wins")
break
else:
continue
在else中point 这个变量没有定义
这里的中文翻译比较拗口,换成英文的就很好理解了。
Name 'point' can be undefined
意思就很明显了,是说point这个变量为被定义。
import random
times = 1
point=0
def roll_dice():
m = random.randint(1, 6)
n = random.randint(1, 6)
print("Player rolled %d+%d = %d" % (a, b, a + b))
return m, n
def display_dice():
print("Player rolled %d+%d=%d" % (a, b, a + b))
craps = {2, 3, 12}
while 1:
a, b = roll_dice()
if times == 1:
point = a + b
if a + b == 7 or a + b == 11:
print("Player wins")
times += 1
break
elif a + b in craps:
print("Player loses")
times += 1
break
else:
print("Point is", point)
times += 1
continue
else:
if a + b == 7:
print("Player loses")
break
elif a + b == point:
print("Player wins")
break
else:
continue
point在开始定义一下哦