我获得了一个无限的while循环在python这里是我的滚动骰子的代码 它一遍又一遍地滚动骰子 守则:
#!usr/bin/python
# -*- coding: utf-8 -*-
import random
import time
import sys
print ("")
print ("This is a dice rolling simulator ")
x=raw_input("press Enter to launch the dice ")
def dice():
print("\nRolling the dice...\n")
time.sleep(1)
n=random.randint(1, 6)
if n == 1:
print '''
1
'''
if n == 2:
print '''
'''
if n == 3:
print '''
3
'''
if n == 4:
print '''
4
'''
if n == 5:
print '''
5
'''
if n == 6:
print '''
6
'''
dice()
x=raw_input("press Enter to restart the or type q to quit")
while x!= ("q"):
dice()
if x== ("q"):
print ("see you later ")
答案 0 :(得分:2)
您没有在while循环中读取输入。您应该在while循环中读取它,因此在每次迭代中您都可以更改它,否则它将始终执行相同的计算。
你循环应该看起来像这样:
x=raw_input("press Enter to restart the or type q to quit")
while x!= ("q"):
dice()
x=raw_input("press Enter to restart the or type q to quit")
答案 1 :(得分:2)
你需要在while循环中获取用户输入...而不是
x = raw_input("press Enter to restart the or type q to quit")
while x != ("q"):
dice()
尝试:
x = raw_input("press Enter to restart the or type q to quit")
while x != ("q"):
dice()
x = raw_input("press Enter to restart the or type q to quit")
答案 2 :(得分:1)
你必须将raw_input()
函数放在while循环中的第40行。
x=raw_input("press Enter to restart the or type q to quit")
while x!= ("q"):
dice()
x=raw_input("press Enter to restart the or type q to quit")
答案 3 :(得分:0)
所有告诉您复制代码的答案都很糟糕。 Pythonic解决方案
while True:
dice()
x = ...
if x == 'q': break
在这种情况下,您也可以在开头设置x=''
,但通常情况下,退出其他地方的循环没有任何问题。