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

Python If语句和逻辑运算符问题,python,if-statement,logical-operators,Python,If Statement,Logical Operators,我正在尝试创建一个小型python程序来模拟滚动单个模具。我的问题是,我希望程序同时接受大写和小写字母“Y”来触发重新滚动。当我接受大写或小写y时,但当我尝试更改行时,我的程序工作 if usr == 'Y' 到 创建一个从未进入else语句的问题,使程序从未终止 import random def DiceRoll(): number = random.randrange(1, 7, 1) print("Dice Roll: ", number) AskUser() return

我正在尝试创建一个小型python程序来模拟滚动单个模具。我的问题是,我希望程序同时接受大写和小写字母“Y”来触发重新滚动。当我接受大写或小写y时,但当我尝试更改行时,我的程序工作

if usr == '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()
你必须这样做

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

它当前正在将语句“y”作为自己的条件进行求值,在本例中,“y”的求值结果始终为true。

如果usr in('y','y')请尝试
如果usr in('y','y'),或者
如果usr.lower()='y'
只需使用usr=usr.lower(),并且只检查是否有小写字母yI,如果usr in('y','y'),请将其更改为
,现在就可以工作了。非常感谢。评论不用于扩展讨论;这段对话已经结束。
if usr == 'Y' or usr == 'y'.