python函数通过"*v"可以接收不定长参数,并将不定长参的数据类型处理成元组,用input语句得到的数据作为这个不定长参数执行函数,不能达到预期效果的问题?...

1、函数接收不定长变量,函数直接接收方式:

def f(*v):

  print(v)

f(10,12,21)

MacBook-Pro-2:~ yunlei.han$ python3 log.py 

(10, 12, 21)

 2、函数接收不定长变量,函数间接接收方式:

def f(*v):

  print(v)

v = input(">>>:")

f(v)

MacBook-Pro-2:~ yunlei.han$ python3 log.py 

>>>:10,12,21

('10,12,21',)

3、input语句接收的数据类型是字符串,可以通过下面方式处理成列表

get = input(">>>:")

element = ""

_list = []

for i in get :

  if i.isdigit():

    element = element + i

  else:

    element = int(element)

    _list.append(element)

    element = ""

print (_list)

MacBook-Pro-2:~ yunlei.han$ python3 log.py 

>>>:10,12,21,

[10, 12, 21]

结论:

当python函数需要用input语句间接接收不定长参数的时候,可以先把input语句接收的字符串处理成列表,然后让函数接收这个列表,而不是让函数通过"*v"不定长参数方式继续接收input语句拿到的字符串。

 

转载于:https://www.cnblogs.com/hanyunlei/p/11168862.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值