随机导入print(“这是一个骰子模拟器。”)x =“ y”而x ==“ y”:数字= random.randint(1,6)如果数字== 1:打印(” - - - - - - ”)打印(“ | |”)打印(“ | 0 |”)打印(“ | |”)打印(” - - - - - - ”)如果数字== 2:打印(” - - - - - - ”)打印(“ | 0 |”)打印(“ | |”)打印(“ | 0 |”)打印(” - - - - - - ”)如果数字== 3:打印(” - - - - - - ”)打印(“ | 0 |”)打印(“ | 0 |”)打印(“ | 0 |”)打印(” - - - - - - ”)如果数字== 4:打印(” - - - - - - ”)打印(“ | 0 0 |”)打印(“ | |”)打印(“ | 0 0 |”)打印(” - - - - - - ”)如果数字== 5:打印(” - - - - - - ”)打印(“ | 0 0 |”)打印(“ | 0 |”)打印(“ | 0 0 |”)打印(” - - - - - - ”)如果数字== 6:打印(” - - - - - - ”)打印(“ | 0 0 |”)打印(“ | 0 0 |”)打印(“ | 0 0 |”)打印(” - - - - - - ”)x =输入(“按y再次滚动”)
我不知道为什么我的代码无休止地循环。
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")
Well,while x == "y"
:您的x
在循环开始之前被设置为"y"
,并且从不更改期间循环。
您可能想在print
语句之后将最后一行更改为inside循环。
因此修复非常简单:
更改最后一行::>
x = input("Press y to roll again")
到
x = input("Press y to roll again")