3和1被解释为字符串

时间:2019-01-15 01:07:35

标签: python python-3.x string numbers repl.it

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

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

这原意是导致...出现等待状态。

样本输入:

wait(3, 1)

预期输出:

.
.
.

它循环3次,并在每个循环之间等待1秒。我遇到了错误

  

TypeError:“ str”对象不可调用

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

我尝试在每个部分以及仅某些部分使用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))

1 个答案:

答案 0 :(得分:3)

因为您为wait分配了一个字符串值,这将创建一个局部变量,该局部变量将覆盖名称为wait的函数

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

由于wait(3,1)没有意义,您以后不能再致电'\nPress enter to begin the game:'(3,1)