我尝试在掷骰子时使用while
循环而不是for
循环。我不认为elif
是正确的,但是我无法想出如何在这个函数中使用while
循环。到目前为止,我得到的是:
import random
def rolldiewhileloop():
number = 10
one = 0
two = 0
three = 0
four = 0
five = 0
six = 0
while number > 0:
flip = int(random.random() * 6)
if(flip == 1):
one = one + 1
elif flip == 2:
two = two + 1
elif flip == 3:
three = three + 1
elif flip == 4:
four = four + 1
elif flip == 5:
five = five + 1
elif flip == 6:
six = six + 1
return [one, two, three, four, five, six]
在当前while循环中,不会更改
number
的值,因此这将是一个无限循环。由于您从10开始循环,直到number
小于或等于零,您可能应该在每次迭代中递减一:注意,
number -= 1
等同于number = number - 1
。在作为补充说明,与其乘以
^{pr2}$random.random()
的结果,不如使用random.randint(1, 6)
。另外,由于您已经返回了一个数组,所以创建一个结果列表并对其进行修改,而不是为每个可能的情况创建一个单独的变量,这将更像python。例如:每次执行while循环时,都需要减少这个数。将
number -= 1
作为while循环中的最后一行。在相关问题 更多 >
编程相关推荐