python怎么在一行输入任意多个变量
比如 5 6 7 8 9
1 2 3
11 55 6644 5
就是不知道要输入几个
把input()传给一个str类型的变量,然后split,当然是一种可行的做法,但是不是聪明的做法
python有个很好用的函数,eval,还有个很好的特性,就是元组自动装包拆包
你可以这样写
n=eval(input())
当你输入1,2,3时
相当于执行
n=1,2,3
最终n会得到一个元组(1,2,3)
但是注意,分隔符一定要是逗号,不要乱输入
lis = list(map(int,input("请输入任意个数字,用空格隔开,按回车结束").split(" ")))
print(lis)
map和eval函数了解一下🙊🙊🙊
有个更好的方法,使用re正则库的split方法,把分隔符变成可能的一切分隔符就行了:
r"[\s,.]"就可以用空格或逗号或句号(英文)分隔了
有这种说法吗
def function(name, *args, **kwargs)
print('my name is:', name)
for v in args:
print ('Optional argument (args): ', v)
for k, v in kwargs.items():
print ('Optional argument %s (kwargs): %s' % (k, v))
function('Bob', 1, 3, 5, age=20, hight=170)
# result
my name is: Bob
Optional argument (args): 1
Optional argument (args): 3
Optional argument (args): 5
Optional argument age (kwargs): 20
Optional argument hight (kwargs): 170
获取整行字符串,然后用split()
name_of_list = list()
str = input()
name_of_list = str.split()
此时name_of_list就包含了若干个字符串
变量列表=input("提示语句").split("分隔符")
得到的是字符串的列表,然后根据需要转换成各种变量类型