Python骰子模拟器,为什么它不停止运行?

问题描述 投票:0回答:2
随机导入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再次滚动”)

我不知道为什么我的代码无休止地循环。

python simulation dice
2个回答
1
投票
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")

Test online!


1
投票

Well,while x == "y":您的x在循环开始之前被设置为"y",并且从不更改期间循环。

您可能想在print语句之后将最后一行更改为inside循环。

因此修复非常简单:

更改最后一行::>

x = input("Press y to roll again")

    x = input("Press y to roll again")
© www.soinside.com 2019 - 2024. All rights reserved.