我对模拟掷骰子的家庭作业有点困惑。问题要求创建一个返回 1 到 6 之间的随机整数值的函数,并创建一个主程序,询问用户要掷多少个骰子(必须限制为 5 个骰子),并调用该函数来打印生成的骰子价值观。到目前为止我有这个:
import random
def dice(number_of_dice):
for i in range(0,number_of_dice):
return random.randint(1,6)
number_of_dice = input("How many dice would you like to roll? ")
while number_of_dice >5:
number_of_dice = input("You may only have a limit of 5 dice, enter a number under 5. " )
print dice(number_of_dice)
运行程序时,无论“number_of_dice”输入是什么,它都只返回一个随机整数值。这里究竟出了什么问题?
如有任何帮助,我们将不胜感激,谢谢。
一旦你的dice
函数执行并遇到return
第一次声明,它返回而不继续其余部分for
loop.
要解决这个问题,您可以在内部声明一个局部变量dice
它保存您想要返回的多个结果。使用类似的语句
retval = []
retval.append(...)
return retval
(我将留给你来填补空白。)
Python 的更高级用法包括使用yield
语句从称为 a 的特殊函数返回单个值发电机,它会记住它在哪里并且可以稍后重新启动。然而,在使用诸如以下功能之前,值得牢牢掌握基础知识yield
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)