python常见的输入格式处理总结
在这里总结一些python输入格式的处理方法。首先介绍一下input()函数和eval()函数。
【函数介绍】
【input()函数介绍】
input()函数的功能是从键盘读取一行字符串,遇到换行符时结束读取,所以,当输入回车时,input()函数的读取就结束了。需要注意的一点是:无论用户输入的是字符还是数字,input()函数统一按照字符串类型输出。因此input()的输出类型是str。
在调用input()函数的时候,为了提高程序的交互性,可以打印出一行提示信息,如:
input("请输入一个整数:")
运行后,就会有一条提示语句:

如果需要读入一个字符串,直接调用input()就可以解决,而当我们要读入整数或者浮点数的时候,就可以借助eval()函数进行处理。虽然,也可以利用int(input())或者float(input())进行处理,但是,用eval(input())是一个很好用的公式,所以还是比较推荐的。
【eval()函数】
eval(<字符串>)能够以Python表达式的方式解析并执行字符串,并将返回结果输出。eval()函数将去掉字符串的两个引号,将其解释为一个变量。所以eval(input())是一个很好用的公式,可以用于从键盘读入数字。
例如:
name=input()
age=eval(input())
weight=eval(input())
print(type(name),type(age),type(weight))

可以看到,Jack、age、weight三个变量分别为str、int、float
【常见输入格式处理方式】
【输入一个列表】
使用上面讲的eval(input())组合就可以解决。
如:
mylist=eval(input())
print(type(mylist))
print(mylist)
执行后,分别输入数字列表和字符串列表都可以正确解析。

【空格分隔的多项输入】
- 获取以空格分隔的字符串
使用input().split(),可以得到由这些字符串组成的列表。
如:
names=input().split()
print(type(names))
print(names)

2. 获取以空格分隔的数字
有一个比较好理解的方法,就是先用上面类似于字符串的处理方式,获取到一个列表,然后再挨个转换成相应的类型。
例如:
ages=input().split()
age1=eval(ages[0])
age2=eval(ages[1])
print(type(age1),age1,type(age2),age2)

此外,我们还可以借用map()函数进行处理。
如:
name1,name2,name3=map(str,input().split())
age1,age2,age3=map(int,input().split())
weight1,weight2,weight3=map(float,input().split())
print(type(name1),type(age1),type(weight1))
print(name1,age1,weight1)
print(name2,age2,weight2)
print(name3,age3,weight3)

【逗号分隔的多项输入】
- 逗号分隔的多个数字组成的列表
有一个投机取巧的方法:就是把两边的中括号补上,再用eval()函数:
ages=eval('['+input()+']')
print(ages)

此外,也可以像上面用空格分隔的时候一样用split()函数,只要加上一个逗号做为参数就可以。
- 逗号分隔的多个字符串组成的列表
类似于空格分隔的处理方式,在split()函数里加上一个逗号作为参数即可。
如:
name1,name2,name3=map(str,input().split(','))
age1,age2,age3=map(int,input().split(','))
weight1,weight2,weight3=map(float,input().split(','))
print(type(name1),type(age1),type(weight1))
print(name1,age1,weight1)
print(name2,age2,weight2)
print(name3,age3,weight3)

常见的python输入格式的处理方法暂时就是这些,后面遇到好的方法或者其他情况再补上。
本文详细介绍了Python中input()函数、eval()函数的使用,以及如何处理空格和逗号分隔的输入,包括列表、整数和浮点数的转换。涵盖了空格分隔字符串、数字列表解析和逗号分隔项的高级技巧。
1072

被折叠的 条评论
为什么被折叠?



