通常情况下,input函数可以获取一行数据,并识别为一个字符串。例如:以下代码试图从键盘输入一个整数s,并输出s+1的值。

s = input('请输入一个整数')
print(s + 1)

会报错:

TypeError: can only concatenate str (not "int") to str

需要做如下调整,将其强制转换为整数:

s = int(input('请输入一个整数'))
print(s + 1)

         如何获取一组由空格隔开的数据呢?例如下面的键盘输入:

1 2 3 4 5

        针对上述问题,可以利用split方法,将输入的数据拆分,并组成一个list供使用,如:

s = input('请输入一组整数用空格隔开:').split()
print(s)

        结果为:

请输入一组整数用空格隔开:1 2 3 4 5
['1', '2', '3', '4', '5']

        剩下的事情就看具体需求了

        例如,如果需求是:从键盘输入五个整数,求和。代码如下:

s = input('请输入一组整数用空格隔开:').split()
sum = 0
for num in s:
    sum += int(num)
print(sum)

结果如下:

请输入一组整数用空格隔开:1 2 3 4 5
15

或者代码如下:

s = input('请输入一组整数用空格隔开:').split()
num = [int(x) for x in s]
print(sum(num))

当然,split方法可以实现各种不同的分隔符的数据分割。例如:

s = input('请输入一组整数用空格隔开:').split(',')
num = [int(x) for x in s]
print(sum(num))

上面的代码就可以实现类似于1,2,3,4,5这样的输入了。

学会了就点个赞呗。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐