继续得到“TypeError:'int'对象不可调用”

时间:2016-11-17 03:41:36

标签: python int

我一直得到同样的错误,我不知道为什么,我是python的新手,我正在尝试一个小项目来猜测随机数!这是我的代码:

import random

number_guess = int(input("Enter a random number between 1 - 100 please!"))
random_number = random.randrange(0,100)

if number_guess == random_number():
    print("Correct! The number was " + random_number + "!")
else:
    print("Wrong! The real number was " + random_number + "!")

2 个答案:

答案 0 :(得分:1)

11-17 10:31:07.516 9032-9032/com.arf.tanamanku D/values: [112.788683, -7.281677, 4.983527183532715, 32.00, 1008, 62] 11-17 10:31:07.516 9032-9032/com.arf.tanamanku D/0: 112.788683 11-17 10:31:07.516 9032-9032/com.arf.tanamanku D/1: -7.281677 11-17 10:31:07.516 9032-9032/com.arf.tanamanku D/2: 4.983527183532715 11-17 10:31:07.516 9032-9032/com.arf.tanamanku D/3: 32.00 11-17 10:31:07.516 9032-9032/com.arf.tanamanku D/4: 1008 11-17 10:31:07.516 9032-9032/com.arf.tanamanku D/5: 62 11-17 10:31:07.516 9032-9032/com.arf.tanamanku D/values: [112.788683, -7.281677, 4.983527183532715, 28.00, 1010, 83] 返回指定范围之间的随机整数。 The documentation states this quit clearly

  

random.randrange()

     

从范围random.randrange(start, stop[, step])返回随机选择的元素。这等同于选择(start, stop, step),但实际上并不构建范围对象。

(range(start, stop, step))的值为random_number类型,不可调用。在if if语句中,不需要括号。只需在没有括号对的情况下写int

答案 1 :(得分:1)

正如叶子所说,这里的一个错误是你的if语句中你有random_number()你正在调用变量而不是方法,你应该删除括号。

另一个问题是你试图在String中添加一个int并且无法完成,在print语句中你应该替换' +'使用逗号,您的程序将按预期完美运行!

如果你真的想要1到100的值,你应该将起始编号设置为1,就像它设置为0一样,你有机会得到0,如果你有最大值设置为100你永远不会得到大于99的值,这意味着100的猜测永远不会是正确的。

所以你的最终项目应该是这样的:

import random

number_guess = int(input("Enter a random number between 1 - 100 please! "))
random_number = random.randrange(1,101)

if number_guess == random_number:
    print("Correct! The number was ", random_number, "!")
else:
    print("Wrong! The real number was ", random_number, "!")