Python 一行输入多个数字与字符串的处理方法
在 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 输入处理技巧的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













