当前位置: 首页 > 知识库问答 >
问题:

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

松元明
2023-03-14
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")

我搞不懂为什么我的代码循环不停。

共有2个答案

魏刚豪
2023-03-14

x=输入(按y再次滚动)被要求在之外,而循环,因此代码永远不会到达。将其添加到

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")

在线测试!

壤驷茂实
2023-03-14

那么,当x=="y"时,你的x在循环前的开头被设置为"y",并且在循环期间永远不会改变。

print语句之后,您可能希望将最后一行更改为在循环内。

因此,解决方法非常简单:

将最后一行更改为:

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

    x = input("Press y to roll again")
 类似资料:
  • 我是一个C++初学者,我需要创建一个骰子游戏模拟掷两个骰子。我对头文件的使用感到很困惑。但首先,为什么我需要返回骰子的票面号码?其次,int roll函数做什么?来重置价值观和面孔?如果是,默认值是多少?而最后一个函数骰子(int n),我是否使用这个函数来控制骰子值的最大总和?函数必须有一个具有以下函数的类头文件:

  • 我在phonegap 3.7上,我试图通过以下方式启动模拟器: 但是如果失败了: 错误:指定的目标设备无效。 [..] 错误:命令C:\Program Files(x86)\Microsoft SDK\Windows Phone\v8的错误代码为-2147024809。0\Tools\Xap部署\XapDeployCmd。带参数的exe:/installlau nch,C:/Users/kitsu

  • 问题内容: 我有两个档案 秒杀 test_spike.py: 当我运行时,第一个测试用例将通过,但是第二个将失败。而我切换到use ,则两个都失败了。 我不明白这是怎么发生的?这些情况本应全部通过。 问题答案: 对于 test_foo, 您没有正确使用补丁。您应该像这样使用它: 这给了我: 现在,第二个示例不起作用,因为您导入了bar函数(获取对其的引用),然后尝试对其进行模拟。模拟某些内容时,您

  • 问题内容: 我有一个正在构建的Python程序,可以通过以下两种方式之一运行:第一种是调用,它以友好的方式提示用户输入,然后通过该程序运行用户输入。另一种方法是调用“ ”,它将遍历所有友好的输入集合,并通过该程序一次运行整个文件的输入值。 问题是,当我运行时,它会从中导入一些变量/方法/等,并在运行此代码时: 在程序的第一行,它立即错误,因为它试图运行中的代码。 如何阻止Python运行要导入的“

  • 该程序应模拟滚动两个骰子,并计算和。添加一个循环,使程序可以玩10,000个游戏。添加计数器,计算玩家赢了多少次,输了多少次。在10,000场比赛结束时,计算获胜的概率[即赢/(赢+输)]并输出该值。从长远来看,谁会赢得最多的比赛,你还是房子?注意:要生成一个随机数x,其中0x≤<1,使用x=math.random();例如,乘以6并转换为一个整数,结果是一个介于0和5之间的整数。

  • 问题内容: 这可能是一个完全开箱即用的问题。我只是想知道为什么Android模拟器这样编号为5554、5556。 问题答案: Android模拟器使用网络与Android SDK工具进行通信,即使此通信仅限于本地主机。这允许安装应用程序,调试等。启动仿真器时,它会监听端口5554和5555。 如果在另一个已经运行的状态下启动仿真器,则这些端口将处于繁忙状态,因此仿真器将改为监听5556和5557,