在用一个input()给多个变量进行赋值时,有下面几种方法:
一.较常用,用split(),在输入时以空格分隔输入的字符串,
a,b,c=input().split() #把输入的字符指定以空格分格开,也就是说输入的时候,两值之间,要打一个空格
二.和第一种相似,只是间隔符号用逗号
a,b,c=input().split(",") #split(),把字符串,以指定的符号进行分隔开.默认为空格,可以指定为逗号,如本例.但注意:如果用了引号,则引号内必须有内容,哪怕只是打一个空格,也必须得打上.不能直接就两个引号相连,中间什么也没有.否则会报错.
2021.4.25修:关于split(),例:(字符串经.split()分割后,生成列表.可以作为字符串转列表的一种方法.
aaa='15.34万31.87万23.42万26.18万57.04万14.10万47.59万47.11万17.57万14.27万35.78万14.47万72.96万46.14万28.30万76.00万28.68万134.74万58.27万14.66万15.67万24.36万16.87万20.22万14.18万198.39万22.46万15.37万26.05万24.25万23.84万'
b=aaa[:].split('万') #字符串aaa经分割后生成列表b
['15.34',
'31.87',
'23.42',
'26.18',
'57.04',
'14.10',
'47.59',
'47.11',
'17.57',
'14.27',
'35.78',
'14.47',
'72.96',
'46.14',
'28.30',
'76.00',
'28.68',
'134.74',
'58.27',
'14.66',
'15.67',
'24.36',
'16.87',
'20.22',
'14.18',
'198.39',
'22.46',
'15.37',
'26.05',
'24.25',
'23.84',
'']
b=aaa[:-1].split('万') #因为字符串最后一个是万字,会在最后生成一个空值引号对,切片为去尾.
['15.34',
'31.87',
'23.42',
'26.18',
'57.04',
'14.10',
'47.59',
'47.11',
'17.57',
'14.27',
'35.78',
'14.47',
'72.96',
'46.14',
'28.30',
'76.00',
'28.68',
'134.74',
'58.27',
'14.66',
'15.67',
'24.36',
'16.87',
'20.22',
'14.18',
'198.39',
'22.46',
'15.37',
'26.05',
'24.25',
'23.84']
三.如有数值参与计算时,这种方法最常用,好用,整数或浮点数均可用.
e,f,g=eval(input('请输入三个值,中间以逗号分隔')) #eval()的作用就是去掉两侧的符号,使数值转化成可计算的类型(整数或浮点数都可以).这种方法,在输入的时候,必须以','隔开,不能用空格或其它符号.否则报错.
四.不常用.
a,b =map(int,input('输入a,b空格隔开:').split()) #这个纯属娱乐,可以用,在这里不实用,作为了解map()练手.能用,但不必用.
主题思路是,把input()输入的内容,转化为列表,就可以赋值给=左边的多个变量了.