模拟两个骰子的滚动。使用随机生成的整数来表示名为point的函数中每个骰子的滚动。返回卷的组合值。在main中使用一个循环来掷骰子五次并报告每个结果。
所以,尽管我正在调用包含该变量的函数,但我尽力而为地继续得到同样的问题,它告诉我我的变量total
未定义。
我将以下代码提交给了我的教授,后者又回复了:
骰子计划已经结束。返回一个卷的总数。在main中调用point并捕获返回的值以进行打印。
所以他说要在我的point
函数中调用函数main
(至少我认为,我是),但它仍然无法读取我的重要变量来完成此操作
import random
min=1
max=6
def main():
for roll in range(5):
point()
print(total)
def point():
roll=random.randint(min, max)
roll2=random.randint(min, max)
total=roll+roll2
return total
main()
答案 0 :(得分:1)
在main
函数内,此行:
point()
不会使当前范围内的total
可用。相反,它只是调用函数point
,然后丢弃其返回值。
您需要通过将此返回值分配给名为total
的变量:
def main():
for roll in range(5):
################
total = point()
################
print(total)
现在,当您执行print(total)
时,total
将被定义并等于point()
的值。
答案 1 :(得分:1)
您尝试引用仅存在于point()函数范围内的变量。但是你不需要,因为你无论如何都要返还价值。
试试这个。
from random import randint
def rollD6():
return randint(1,6)
def point():
return rollD6()+rollD6()
def main():
for roll in range(5):
print point()
main()