【问题标题】:Using Randint numbers in a caculation [duplicate]在计算中使用 Randint 数 [重复]
【发布时间】:2021-01-26 05:02:55
【问题描述】:
num1 = print(random.randint(0,9))
num2 = print(random.randint(0,9))
print(num1 ** num2)

当我尝试在 python 中运行它时,我会收到错误

TypeError:** 或 pow() 不支持的操作数类型:'NoneType' 和 'NoneType'

任何人都知道我在这里遇到的问题以及我该如何解决它?

【问题讨论】:

  • print() 返回None。删除print(),只留下random.randint
  • print 不返回任何内容。当您执行num1 = print(...) 时,print 的结果将分配给num1

标签: python random typeerror


【解决方案1】:

您使用“print”的问题 - 当您尝试将数字分配给它们的变量时,该函数返回“None”作为值。

为了解决这个问题,您只需删除打印语句或将它们放在另一个地方,这样您的代码就会如下所示:

num1 = random.randint(0,9)
num2 = random.randint(0,9)
print(num1 ** num2)

保重

【讨论】:

    【解决方案2】:

    删除你在“num1 = print(random.randint(0,9))”中的'print()' 和“num2 = print(random.randint(0,9))”,它应该可以解决问题。

    您还应该将最后一行更改为 print(str(num1 ** num2)) 而不是 print(num1 ** num2) :D

    【讨论】:

    • 第二个建议不太有用; python根据需要自动将print参数转换为字符串
    【解决方案3】:

    试试这个,

    num1 = random.randint(0, 9)
    num2 = random.randint(0, 9)
    print(num1 ** num2)
    

    在您的代码中,您使用print 获取值,但print 语句不返回值(如您在代码中所希望的那样),即print 的返回类型是None

    【讨论】:

      猜你喜欢
      • 2019-04-02
      • 1970-01-01
      • 1970-01-01
      • 2015-03-21
      • 1970-01-01
      • 2017-08-20
      • 1970-01-01
      • 2015-12-27
      • 2021-10-16
      相关资源
      最近更新 更多