int(x) for x in input().split(',')和eval(input())的区别

如图所示,这两程序运行结果是一样的,我是用的eval()但是给我判错了

img

img

img

eval(input())是直接将字符串两侧的引号去掉,你可以这样:
eval(x) for x in input().split(',')

eval()能够以Python表达式的方式解析并执行字符串,并将返回结果输出。eval()函数将去掉字符串的两个引号,将其解释为一个变量。
input函数,在获得用户输入之前,input()函数可以包含一些提示性的文字。

a = int(input())
123
type(a)
<type 'int'>

a = eval(input())
{1, 3, 4}
type(a)
<class 'set'>
print(a)
{1, 3, 4}