Python 一行输入多个数字与字符串的处理方法

橘子海
橘子海
发布时间:2026-10-11 | 1人浏览过
原创

在 Python 编程中,处理一行包含多个数据的输入是常见需求。本文将详细讲解如何利用内置函数组合,实现一行输入多个数字(空格分隔)或多个单词(逗号分隔),并展示一个将二进制数据转换为日期的实际应用场景。

一行输入多个数字(空格分隔)

当需要在同一行输入多个整数,并用空格隔开时,可以使用 input().split() 将字符串分割为列表,再配合 map(int, ...) 将每个元素转换为整数。

a,b=map(int,input().split())
print(a,b)
print(type(a))

运行上述代码并输入 1 2,输出结果为:

1 2
<class 'int'>

这种方法不仅简洁,还能确保变量 a 和 b 的类型为整型(int),便于后续数学运算。

一行输入多个字符串(逗号分隔)

若需在一行输入多个字符串,且以逗号作为分隔符,只需在 split() 中指定分隔符为 ',',并使用 map(str, ...) 保持字符串类型即可。

str1,str2=map(str,input().split(','))
print(str1,str2)
print(type(str1))

例如,输入 love,china,程序将输出:

love china
<class 'str'>

注意,print(str1, str2) 默认在两个字符串之间添加空格,因此输出显示为 love china,但变量 str1 和 str2 分别存储了 'love' 和 'china'。

综合应用:二进制日期转换

结合上述知识,我们可以解决一个更复杂的问题:将一行以空格分隔的二进制数字转换为可读的日期格式。假设输入格式为“年(4位二进制) 月(5位二进制) 日(5位二进制)”,具体实现如下:

print("请输入报道日期,每位二进制数之间用空格隔开")
sstr=""
year1,year2,year3,year4,month,day=map(str,input().split())
sstr=sstr+str(int(year1,2))+str(int(year2,2))+str(int(year3,2))+str(int(year4,2))+"年"
sstr=sstr+str(int(month,2))+"月"
sstr=sstr+str(int(day,2))+"日"
print(sstr)

在此代码中,int(year1, 2) 的作用是将二进制字符串 year1 转换为十进制整数,再转为字符串拼接。例如,输入 00010 00000 00001 00100 00100 00001,程序解析过程如下:

  • year1 到 year4 分别为 00010, 00000, 00001, 00100,转换为十进制后为 2, 0, 1, 4,拼接为“2014年”。
  • month 为 00100,转换为十进制后为 4,拼接为“4月”。
  • day 为 00001,转换为十进制后为 1,拼接为“1日”。

最终输出结果为:2014年4月1日。

以上就是 Python 实现一行输入多个数字与字符串处理的详细内容,更多关于 Python 输入处理技巧的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表