3 和 1 被解释为字符串

3 and 1 being interpreted as strings

我正在制作一个掷骰子程序,尽管它是完全随机的,但您尝试掷出比计算机更高的骰子。我有功能:

def wait(loop, time):
    sleep(time)
    for number in range(loop):
        print('.')
        sleep(time)

这是为了让...出现等待。

示例输入:

wait(3, 1)

预期输出:

.
.
.

其中循环3次,每次循环之间等待1秒。我收到错误

TypeError: 'str' object is not callable

我不明白,因为它是数字而不是字符串。

我已经尝试在每个部分使用 int() 并且只在某些部分使用 例如:

def wait(loop, time):
    sleep(int(time))
    for number in range(int(loop)):
        print('.')
        sleep(int(time))

wait(int(3), int(1))

def wait(loop, time):
    sleep(int(time))
    for number in range(int(loop)):
        print('.')
        sleep(int(time))

wait(3, 1)

def wait(loop, time):
    sleep(time)
    for number in range(loop):
        print('.')
        sleep(time)

wait(int(3), int(1))

因为您为 wait 分配了一个字符串值,所以这会创建一个局部变量,该变量会覆盖名称为 wait

的函数
 wait = input('\nPress enter to begin the game:')

您以后不能调用 wait(3,1),因为 '\nPress enter to begin the game:'(3,1) 没有意义。