教科书中的示例代码是逐个单词编写的,但是当我按Shift + Enter时,没有输出,我也不知道为什么。
我已经尝试将n = 10放入括号中,并再次将值10赋给变量。
import random
def rollDie():
return random.choice([1,2,3,4,5,6])
def rollN(n):
result = ''
for i in range(n):
result = result + str(rollDie())
print(result)
我没有收到任何输出或错误消息。它说如果我运行rollN(10),我应该从1-6中获得10个随机整数,但是我什么也得不到。
答案 0 :(得分:2)
您没有调用rollN()函数。试试这个:
import random
def rollDie():
return random.choice([1,2,3,4,5,6])
def rollN(n):
result = ''
for i in range(n):
result = result + str(rollDie())
print(result)
def main():
rollN(10)
if __name__ == "__main__":
main()
答案 1 :(得分:0)
“我尝试过将n = 10,”
这里的问题是您有两个 已定义 的函数,但它们从未被 执行 。因此,即使通过在函数参数中设置n = 10,该函数仍未真正被调用。
答案 2 :(得分:0)
尝试
import random
def rollDie(m):
return random.choices(range(m))[0]
def rollN(n,m=6):
print(" ".join(map(str,[rollDie(m) for i in range(n)])))
print(rollN(10))
答案 3 :(得分:0)
此代码的问题在于,您正在定义函数,但未在任何地方调用它们。试试这个:
import random
def rollDie():
return random.choice([1,2,3,4,5,6])
def rollN(n):
result = ''
for i in range(n):
result = result + str(rollDie())
print(result)
rollN(10)
如果您愿意,可以将代码缩短为:
import random
def rollN(n):
result = ''
for i in range(n):
result = result + str(return random.choice([1,2,3,4,5,6]))
print(result)
rollN(10)