变量赋值问题
在第一行复制的时候input后面为什么一定要加上字符串才不出错。如果我不需要if语句前有文字,只想直接输入数值来看结果,为什么不能省略?以下代码只有标红部分不一样:
可运行代码:
temp=input('come on!')
guess=int(temp)
if guess==8:
print('good job!')
else:
if guess>8:
print('it\'s too big')
else:
print('samll! too small!')
print('game over~')
不可运行代码:
temp=input
guess=int(temp)
if guess==8:
print('good job!')
else:
if guess>8:
print('it\'s too big')
else:
print('samll! too small!')
print('game over~')
报错提示:
======================== RESTART: d:/我的文档/桌面/04 改进游戏.py ========================
Traceback (most recent call last):
File "d:/我的文档/桌面/04 改进游戏.py", line 2, in <module>
guess=int(temp)
TypeError: int() argument must be a string, a bytes-like object or a number, not 'builtin_function_or_method'
请各位大佬指教~ input()是个函数,是个动词,你只用input那就是函数名,是名词了
input('提示'),里面的字符串可写可不写,是个提示,不写,也能运行,但是括号必须要加
int()是强制转换为数值,你传入函数名,当然不能转了,就报错了 input():函数接受一个标准输入数据,返回为 string 类型。
如果 括号里 不想写东西,直接 temp = input()就可以了,因为 input()是个函数,括号是不能省略的 input() 是内置函数这是输入的 疾风怪盗 发表于 2020-9-30 11:04
input()是个函数,是个动词,你只用input那就是函数名,是名词了
input('提示'),里面的字符串可写可不写 ...
非常感谢~我悟了哈哈
页:
[1]