Python3中实现一行输入多个数字并进行赋值


参考学习后给出两个解决办法。

1. input()和str.split()

首先input()函数返回的是一个字符串,如果你需要的不是数字,而是赋值字符串的话,你可以这样写:a,b,c = input().split()
具体解释如下

>>> a = input()   # input()返回的是字符串
121332
>>> a
'121332'  # 返回的是字符串
# 所以要多个赋值的话,需要对字符串进行分割,并返回列表,再进行赋值
# 我们采用str.split()方法进行分割,返回列表,如果不给出str.split()参数,默认是空格切割
>>> f = 'abcdabcdabcd'
>>> f.split('c')  # 以字符‘c'为切割标志,返回一个列表
['ab', 'dab', 'dab', 'd']
# 最后就是多重赋值了,a,b,c = ['1','2','3'] 相当于 a = '1'; b = '2'; c = '3'
>>> a,b,c = input().split()
1 2 3 
>>> print(a,b,c)
1 2 3

2. map(fun,seq)和列表推导式

接下来解决我们的问题,要变为数字赋值,解决方案也比较简单,就是把字符串变为int。
这里给出两种方法:

方法一:利用map(fun,seq)函数(推荐)

a,b,c = map(int, input().split())
map(fun,seq)方法简单的说就是用fun这个功能函数去依次作用于序列seq中的每个元素,然后返回一个可迭代对象。

>>> a,b,c = map(int, input().split())
1 2 3
>>> print(a,b,c)
1 2 3

方法二:利用列表推导式

a, b,c = [int(x) for x in input().split()]
简单的解释这个列表推导式就是把input().split()返回的列表中的每一个元素通过遍历,依次用int()函数处理。

>>> a, b,c = [int(x) for x in input().split()]
1 2 3
>>> print(a,b,c)
1 2 3

注意以上的int,int()都可以用其他需要的数据类型替代,如float,float()等。

后记:
我从本硕药学零基础转行计算机,自学路上,走过很多弯路,也庆幸自己喜欢记笔记,把知识点进行总结,帮助自己成功实现转行。
2020下半年进入职场,深感自己的不足,所以2021年给自己定了个计划,每日学一技,日积月累,厚积薄发。
如果你想和我一起交流学习,欢迎大家关注我的微信公众号每日学一技,扫描下方二维码或者搜索每日学一技关注。
这个公众号主要是分享和记录自己每日的技术学习,不定期整理子类分享,主要涉及 C – > Python – > Java,计算机基础知识,机器学习,职场技能等,简单说就是一句话,成长的见证!
每日学一技

  • 22
    点赞
  • 110
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值