Python If语句和逻辑运算符问题

时间:2017-07-10 16:13:37

标签: python if-statement logical-operators

我正在尝试创建一个小型python程序来模拟滚动单个骰子。我的问题出现在我希望程序接受大写和小写'Y'以触发重新滚动。当我接受大写或小写y但是当我尝试更改行

时,我的程序有效
if usr == 'Y'

if usr == 'Y' or 'y'

创建一个问题,它永远不会进入else语句,使程序永远不会终止。

import random

def DiceRoll():
 number = random.randrange(1, 7, 1)
 print("Dice Roll: ", number)
 AskUser()
 return

def AskUser():
 usr = input("Roll Again? (Y/N) \n")
 if usr == 'Y':
     DiceRoll()
 else :
     print("Thank you for playing!")
return

DiceRoll()

1 个答案:

答案 0 :(得分:1)

你必须

if usr == 'Y' or usr == 'y'.

它目前正在将语句'y'作为自己的条件进行评估,在这种情况下,'y'总是计算为true。