这是我到目前为止所拥有的...如果你运行模块并选择播放它只是无限地重复掷骰子。帮助
answer=input("Would you like to play? Answer Y/N: ")
while answer == "Y" or answer == "y" or answer == "yes":
import random
die=random.randint(1,6)
dieTwo=random.randint(1,6)
if die== 1:
print("XXXXXXX")
print("X X")
print("X O X")
print("X X")
print("XXXXXXX")
print("You rolled a one...")
if die== 2:
print("XXXXXXX")
print("X O X")
print("X X")
print("X O X")
print("XXXXXXX")
print("You rolled a two...")
if die== 3:
print("XXXXXXX")
print("X O X")
print("X O X")
print("X O X")
print("XXXXXXX")
print("You rolled a three...")
if die== 4:
print("XXXXXXX")
print("X O O X")
print("X X")
print("X O O X")
print("XXXXXXX")
print("You rolled a four...")
if die== 5:
print("XXXXXXX")
print("X O O X")
print("X O X")
print("X O O X")
print("XXXXXXX")
print("You rolled a five...")
if die== 6:
print("XXXXXXX")
print("X O O X")
print("X O O X")
print("X O O X")
print("XXXXXXX")
print("You rolled a six...")
if dieTwo==1:
print("XXXXXXX")
print("X X")
print("X O X")
print("X X")
print("XXXXXXX")
print("and a one")
if dieTwo==2:
print("XXXXXXX")
print("X O X")
print("X X")
print("X O X")
print("XXXXXXX")
print("and a two")
if dieTwo==3:
print("XXXXXXX")
print("X O X")
print("X O X")
print("X O X")
print("XXXXXXX")
print("and a three")
if dieTwo==4:
print("XXXXXXX")
print("X O O X")
print("X X")
print("X O O X")
print("XXXXXXX")
print("and a four")
if dieTwo==5:
print("XXXXXXX")
print("X O O X")
print("X O X")
print("X O O X")
print("XXXXXXX")
print("and a five")
if dieTwo==6:
print("XXXXXXX")
print("X O O X")
print("X O O X")
print("X O O X")
print("XXXXXXX")
print("and a six")
print("")
if answer=="N" or answer=="n" or answer=="no":
print("Thank you for playing.")
答案 0 :(得分:2)
为什么你会认为这只是一个无限循环?你有一个while
循环检查你的病情,这种情况永远是真的,因为你永远不会改变answer
您还可以创建一个打印骰子的功能,而不是使用or
,如果您想在有这样条件的地方更专业,可以使用answer in ("Y", "y", "yes")
作为示例。< / p>
答案 1 :(得分:0)
由于您只从用户那里获取输入answer
,因此在整个程序执行期间其值保持不变。
因此,如果您通过while
或True
或'Y'
,'y'
谓词始终会评估为'yes'
。
我建议你每次迭代时都要输入。 这样的事情可能会有所帮助:
while 1:
answer=input("Would you like to play? Answer Y/N: ")
if answer in ('Y', 'y', 'yes'):
# play the game
else:
# stop the game
另一个建议:不要在循环内导入。
尝试将所有import语句放在脚本的顶部。
快乐的编码!