努力学Python的 发表于 2022-8-4 17:08:43

Python输入问题

python输入的时候,n=input(),什么时候写成int(input()),什么时候用eval(input),什么时候不用加直接是n=input(),做题的时候运行总是报错,然后改一下那个int、eval就好了,但是不清楚为什么要改{:5_100:}

青出于蓝 发表于 2022-8-4 17:13:48

eval('input()') 就等于 input()
所以没有必要

至于input返回后用不用int,需要看具体需求
例如语句 n=intpu() 输入8
不int整形的话 n 就是 '8' 是字符串!
int整形后 n 就是 8 是个整数!

努力学Python的 发表于 2022-8-4 17:18:37

青出于蓝 发表于 2022-8-4 17:13
eval('input()') 就等于 input()
所以没有必要



emm意思是输入的时候不用加eval吗{:5_92:}

临时号 发表于 2022-8-4 17:23:47

本帖最后由 临时号 于 2022-8-4 17:25 编辑

input()函数会返回一个字符串类型的值
但是,有时候我们像让程序读到的是一个整数类型的值,可input()函数读到的是字符串类型的,所以我们需要将input()函数读到的值强制转换为整数,所以用到了int()函数,自然写成了int(input())
而eval()函数的作用是执行一个字符串表达式,这个不太好讲,举个例子你就明白了
command = eval(input("请输入命令: "))
程序执行结果
D:\command\Python>python test.py
请输入命令: print("Hello, World!")
Hello, World!

input函数详解->https://www.runoob.com/python3/python3-func-input.html
int函数详解->https://www.runoob.com/python/python-func-int.html
eval函数详解->https://www.runoob.com/python/python-func-eval.html

青出于蓝 发表于 2022-8-4 17:25:20

努力学Python的 发表于 2022-8-4 17:18
emm意思是输入的时候不用加eval吗

5#正解
考虑不周到了,eval函数也是有作用的...

努力学Python的 发表于 2022-8-4 17:33:51

临时号 发表于 2022-8-4 17:23
input()函数会返回一个字符串类型的值
但是,有时候我们像让程序读到的是一个整数类型的值,可input()函数读 ...

我刚才试了一下去掉eval,然后再写print(“hollow,world”),发现打印不出来诶,所以eval在这的意思是执行print这个表达式吗

临时号 发表于 2022-8-4 17:33:53

一般eval()函数新鱼油比较经常用到的地方应该是这个程序
num = int(input("请输入一个数:"))

if num > 10:
    print(f"{num}比10大")
elif num < 10:
    print(f"{num}比10小")
else:
    print(f"{num}就是10")
可是这个程序要是输入小数就会报错,这个时候就可以用eval()
num = eval(input("请输入一个数:"))

if num > 10:
    print(f"{num}比10大")
elif num < 10:
    print(f"{num}比10小")
else:
    print(f"{num}就是10")

临时号 发表于 2022-8-4 17:34:43

努力学Python的 发表于 2022-8-4 17:33
我刚才试了一下去掉eval,然后再写print(“hollow,world”),发现打印不出来诶,所以eval在这的意思是 ...

是的{:10_254:}

努力学Python的 发表于 2022-8-4 17:34:49

努力学Python的 发表于 2022-8-4 17:18
emm意思是输入的时候不用加eval吗

谢谢哦{:5_109:}

努力学Python的 发表于 2022-8-4 17:37:50

青出于蓝 发表于 2022-8-4 17:25
5#正解
考虑不周到了,eval函数也是有作用的...

嗯嗯,我看答案的时候它有的加eval就对然后不加就不对,有点不明白,不过还是谢谢你帮我解答{:5_92:}

努力学Python的 发表于 2022-8-4 17:45:09

临时号 发表于 2022-8-4 17:33
一般eval()函数新鱼油比较经常用到的地方应该是这个程序

可是这个程序要是输入小数就会报错,这个时候就 ...

谢谢,我刚看了一下书,您帮我举得这个例子是它的其中一个功能,怪不得我搞混了,谢谢{:5_95:}
页: [1]
查看完整版本: Python输入问题