Python 骰子模拟器,为什么是运行 停不下来?
Python dice simulator, why it is running without stopping?
import random
print("This is a dice simulator.")
x = "y"
while x == "y":
number = random.randint(1,6)
if number == 1:
print("------------")
print("| |")
print("| 0 |")
print("| |")
print("------------")
if number == 2:
print("------------")
print("| 0|")
print("| |")
print("|0 |")
print("------------")
if number == 3:
print("------------")
print("| 0|")
print("| 0 |")
print("|0 |")
print("------------")
if number == 4:
print("------------")
print("|0 0|")
print("| |")
print("|0 0|")
print("------------")
if number == 5:
print("------------")
print("|0 0|")
print("| 0 |")
print("|0 0|")
print("------------")
if number == 6:
print("------------")
print("|0 0|")
print("|0 0|")
print("|0 0|")
print("------------")
x = input("Press y to roll again")
我不明白为什么我的代码会无限循环。
x = input("Press y to roll again")
在 while
循环之外被询问,因此永远不会到达代码。将其添加到 while
:
import random
print("This is a dice simulator.")
x = "y"
while x == "y":
number = random.randint(1,6)
if number == 1:
print("------------")
print("| |")
print("| 0 |")
print("| |")
print("------------")
if number == 2:
print("------------")
print("| 0|")
print("| |")
print("|0 |")
print("------------")
if number == 3:
print("------------")
print("| 0|")
print("| 0 |")
print("|0 |")
print("------------")
if number == 4:
print("------------")
print("|0 0|")
print("| |")
print("|0 0|")
print("------------")
if number == 5:
print("------------")
print("|0 0|")
print("| 0 |")
print("|0 0|")
print("------------")
if number == 6:
print("------------")
print("|0 0|")
print("|0 0|")
print("|0 0|")
print("------------")
x = input("Press y to roll again")
好吧,while x == "y"
:您的 x
在循环开始前设置为 "y"
,并且在 循环期间 永远不会改变.
您可能希望将最后一行更改为 在 循环内,在 print
语句之后。
因此修复非常简单:
将最后一行更改为:
x = input("Press y to roll again")
到
x = input("Press y to roll again")
import random print("This is a dice simulator.") x = "y" while x == "y": number = random.randint(1,6) if number == 1: print("------------") print("| |") print("| 0 |") print("| |") print("------------") if number == 2: print("------------") print("| 0|") print("| |") print("|0 |") print("------------") if number == 3: print("------------") print("| 0|") print("| 0 |") print("|0 |") print("------------") if number == 4: print("------------") print("|0 0|") print("| |") print("|0 0|") print("------------") if number == 5: print("------------") print("|0 0|") print("| 0 |") print("|0 0|") print("------------") if number == 6: print("------------") print("|0 0|") print("|0 0|") print("|0 0|") print("------------") x = input("Press y to roll again")
我不明白为什么我的代码会无限循环。
x = input("Press y to roll again")
在 while
循环之外被询问,因此永远不会到达代码。将其添加到 while
:
import random
print("This is a dice simulator.")
x = "y"
while x == "y":
number = random.randint(1,6)
if number == 1:
print("------------")
print("| |")
print("| 0 |")
print("| |")
print("------------")
if number == 2:
print("------------")
print("| 0|")
print("| |")
print("|0 |")
print("------------")
if number == 3:
print("------------")
print("| 0|")
print("| 0 |")
print("|0 |")
print("------------")
if number == 4:
print("------------")
print("|0 0|")
print("| |")
print("|0 0|")
print("------------")
if number == 5:
print("------------")
print("|0 0|")
print("| 0 |")
print("|0 0|")
print("------------")
if number == 6:
print("------------")
print("|0 0|")
print("|0 0|")
print("|0 0|")
print("------------")
x = input("Press y to roll again")
好吧,while x == "y"
:您的 x
在循环开始前设置为 "y"
,并且在 循环期间 永远不会改变.
您可能希望将最后一行更改为 在 循环内,在 print
语句之后。
因此修复非常简单:
将最后一行更改为:
x = input("Press y to roll again")
到
x = input("Press y to roll again")