gpt4 book ai didi

python - Python 中的骰子统计

转载 作者:太空宇宙 更新时间:2023-11-04 06:42:30 25 4
gpt4 key购买 nike

:重复询问用户掷骰子的次数,只有当用户输入的数字小于1时才退出。提示:使用一个while循环,只要num_rolls大于或等于就会执行1.

我这样做了,但不知道如何使用 while 循环来完成。

import random

num_sixes = 0
num_sevens = 0
num_rolls = int(input('Enter number of rolls:\n'))

if num_rolls >= 1:
for i in range(num_rolls):
die1 = random.randint(1,6)
die2 = random.randint(1,6)
roll_total = die1 + die2

#Count number of sixes and sevens
if roll_total == 6:
num_sixes = num_sixes + 1
if roll_total == 7:
num_sevens = num_sevens + 1
print('Roll %d is %d (%d + %d)' % (i, roll_total, die1, die2))

print('\nDice roll statistics:')
print('6s:', num_sixes)
print('7s:', num_sevens)
else:
print('Invalid number of rolls. Try again.')
*

最佳答案

使用 while循环是解决 C 等编程语言中某些问题的一种非常常见的方法。在 Python 中你也可以这样做,但是 Python 有它自己的方法来做一些事情。在您的情况下,您一直在使用 forrange() 循环功能。这比用 while 倒计时更“pythonic” ,这是更“C-ish”。

有趣的是,range功能很聪明,你不需要做额外的检查。任何整数参数 < 1将导致一个空列表和 for循环不会被执行。和 for有一个 else :

for i in range(num_rolls):
# your dicing code
else:
print('Invalid number of rolls. Exiting.')
sys.exit(1) # might be good to signal an error with a return code > 0

# your result printing code

TL;DR:您的代码即使不是更好也很好。只有在老师(?)要求时才更改它 while .

关于python - Python 中的骰子统计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30114537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com