为了账号安全,请及时绑定邮箱和手机立即绑定

为什么这个简单的滚模代码不能“打印”任何东西?

为什么这个简单的滚模代码不能“打印”任何东西?

呼啦一阵风 2022-06-22 17:02:58
教科书上有这个示例代码逐字写入,但是当我按shift + enter时,没有输出,我不知道为什么。我尝试将 n = 10 放在括号中,并再次通过将值 10 分配给变量。import randomdef 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 个随机整数,但我什么也得不到。
查看完整描述

3 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

您没有调用 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()


查看完整回答
反对 回复 2022-06-22
?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

尝试


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))


查看完整回答
反对 回复 2022-06-22
?
蛊毒传说

TA贡献1895条经验 获得超3个赞

此处代码的问题是您正在定义函数,但没有在任何地方调用它们。尝试这个:


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)


查看完整回答
反对 回复 2022-06-22
  • 3 回答
  • 0 关注
  • 109 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号