在Python 3中制作更高或更低游戏的问题。多个if语句
我对多个if语句有问题。我知道我的代码出了什么问题,只是找不到解决方案。因此,当我运行程序时,“较高”部分起作用,但如果我猜“较低”部分不起作用。解释器从读取if语句转到elif语句。那不是我想要的。如何让它在进入elif语句之前先检查两个if语句。我试过嵌套式if,但似乎无法使其工作。 提前谢谢在Python 3中制作更高或更低游戏的问题。多个if语句,python,python-3.x,Python,Python 3.x,我对多个if语句有问题。我知道我的代码出了什么问题,只是找不到解决方案。因此,当我运行程序时,“较高”部分起作用,但如果我猜“较低”部分不起作用。解释器从读取if语句转到elif语句。那不是我想要的。如何让它在进入elif语句之前先检查两个if语句。我试过嵌套式if,但似乎无法使其工作。 提前谢谢 # Higher or lower card game import random x = random.randint(1, 14) y = random.randint(1, 14) pr
# Higher or lower card game
import random
x = random.randint(1, 14)
y = random.randint(1, 14)
print('The number is ', x, '.')
while True:
print('higher or lower?')
if input() in {'higher', 'h'} and y >= x:
print('Good guess the number was ', y)
x = y
y = random.randint(1, 14)
elif y < x:
print('Bad guess , the number was ', y)
break
if input() in {'lower', 'l'} and y < x:
print('Good guess, the number was ', y)
x = y
y = random.randint(1, 14)
elif y >= x:
print('Bad guess, the number was ', y)
break
continue
#更高或更低的纸牌游戏
随机输入
x=random.randint(1,14)
y=random.randint(1,14)
打印('数字是',x'。)
尽管如此:
打印(‘较高还是较低?’)
如果{'higher','h'}中的input()和y>=x:
打印('猜得好,数字是',y)
x=y
y=random.randint(1,14)
如果y=x:
打印('猜错了,数字是',y)
打破
持续
您可能需要以下内容:
while True:
print('higher or lower?')
ans_in = input()
if ans_in in {'higher', 'h'}:
if (y >= x):
print('Good guess the number was ', y)
x = y
y = random.randint(1, 14)
elif (y < x):
print('Bad guess , the number was ', y)
break
elif ans_in in {'lower', 'l'}:
if (y < x):
print('Good guess, the number was ', y)
x = y
y = random.randint(1, 14)
elif (y >= x):
print('Bad guess, the number was ', y)
break
continue
为True时:
打印(‘较高还是较低?’)
ans_in=输入()
如果{'higher','h'}中的ans_:
如果(y>=x):
打印('猜得好,数字是',y)
x=y
y=random.randint(1,14)
elif(y=x):
打印('猜错了,数字是',y)
打破
持续
注意,由于break语句,一个“坏猜测”将结束游戏。如果您想在得到“错误猜测”后继续,您可以简单地删除break语句。我想这不起作用,因为您在每个循环中都会得到两次输入 您应该尝试以下方法:
import random
x = random.randint(1, 14)
y = random.randint(1, 14)
print('The number is ', x, '.')
while True:
print('higher or lower?')
guess = input()
if guess in {'higher', 'h'} and y >= x:
print('Good guess the number was ', y)
x = y
y = random.randint(1, 14)
elif guess in {'higher', 'h'} and y < x:
print('Bad guess , the number was ', y)
break
elif guess in {'lower', 'l'} and y < x:
print('Good guess, the number was ', y)
x = y
y = random.randint(1, 14)
elif guess in {'lower', 'l'} and y >= x:
print('Bad guess, the number was ', y)
break
else:
print('Invalid command')
break
continue
随机导入
x=random.randint(1,14)
y=random.randint(1,14)
打印('数字是',x'。)
尽管如此:
打印(‘较高还是较低?’)
猜测=输入()
如果{'higher','h'}和y>=x中的猜测:
打印('猜得好,数字是',y)
x=y
y=random.randint(1,14)
elif在{'higher','h'}和y=x中的猜测:
打印('猜错了,数字是',y)
打破
其他:
打印('无效命令')
打破
持续
因此,基本上每次迭代,您只需在输入中输入一个命令,并在此基础上构建您的逻辑。您想在每次迭代中只输入一次吗?我对该平台不熟悉,似乎我把缩进搞糟了。我修复了它的ColdSpeed,我希望它在打印x值后提示我输入一个数字。如果可能的话,我希望if语句能够独立工作。因此,如果我选择回答“lower”,它应该读取第二段代码,跳过第一段。但是elif的声明引起了一个问题。这就是高-低的工作原理,当你错了,你就输了。你从来没有玩过这个游戏,tbh:)在英国,我们曾经有一个电视节目,这个游戏可能是主要的游戏,叫做Bruce's Play your Cards RightAh这就是我要找的。谢谢你的回答。