我是初学者,谁能帮我看看为什么报错,搞不懂,也没有老师解答
怎么会报错呢?输入8就直接“再见”,输入7就“再来一次”但是不显示小了,再输入6就报错了?这是为什么?temp = input('让我们来猜数字游戏:')
guess = int(temp)
while guess != 8:
temp = input('再猜一次吧:')
input = int(temp)
if guess == 8:
print('你真棒,对了')
print('可是不给你奖')
else:
if guess > 8:
print('大了,大了')
else:
print('小了')
print("再见")
下面是输出:
让我们来猜数字游戏:7
再猜一次吧:
===================== RESTART: C:/Users/win10/Desktop/12.py ====================
让我们来猜数字游戏:6
再猜一次吧:7
小了
Traceback (most recent call last):
File "C:/Users/win10/Desktop/12.py", line 5, in <module>
temp = input('再猜一次吧:')
TypeError: 'int' object is not callable
>>>
===================== RESTART: C:/Users/win10/Desktop/12.py ====================
让我们来猜数字游戏:8
再见
>>>
===================== RESTART: C:/Users/win10/Desktop/12.py ====================
让我们来猜数字游戏:7
再猜一次吧:6
小了
Traceback (most recent call last):
File "C:/Users/win10/Desktop/12.py", line 5, in <module>
temp = input('再猜一次吧:')
TypeError: 'int' object is not callable
>>> 本帖最后由 Twilight6 于 2020-6-29 22:18 编辑
因为你 进入循环的条件设置的是 guess != 8 才能进入循环
所以你直接输入 8不符合 guess != 8 这个条件 不进入循环 就显示 再见了
后面的报错原因是因为 你这里代码把 input 函数赋值了 导致 input 函数失去原有的功能 :
input = int(temp)
改成 guess 即可:
temp = input('让我们来猜数字游戏:')
guess = int(temp)
while guess != 8:
temp = input('再猜一次吧:')
guess = int(temp)
if guess == 8:
print('你真棒,对了')
print('可是不给你奖')
else:
if guess > 8:
print('大了,大了')
else:
print('小了')
print("再见")
Twilight6 发表于 2020-6-29 22:16
因为你 进入循环的条件设置的是 guess != 8 才能进入循环
所以你直接输入 8不符合 guess != 8 ...
谢谢,,一直没有发现guess写成了INPUT,,太无语了{:5_109:} brusezhong 发表于 2020-6-30 08:03
谢谢,,一直没有发现guess写成了INPUT,,太无语了
{:10_297:} 这样的错以后要少犯哦{:10_281:}
页:
[1]