在python中列出两位数字

时间:2018-12-06 15:51:36

标签: python

我正在尝试使用我的程序平均3个年级,我的所有数学知识都下降了,但是我不确定如何使用一个input命令来获得3个单独的变量。例如,用户应该在一个输入语句中输入3个等级,但是如何将它们分开?我的方法:给定grade = list(input("Three test scores: "))grade = ['2', '3', ',', ' ', '1', '2', ',', ' ', '5', '4']输出23, 12, 54我想要的输出是grade1 = 23 grade2 = 12 grade3 = 54任何帮助??

2 个答案:

答案 0 :(得分:2)

尝试:

grades = input('Three test scores: ')
grade1, grade2, grade3 = grades.split(', ')

将所有非数字字符(不只是逗号)作为分隔符的通用解决方案:

import re
grade1, grade2, grade3 = re.findall(r'\d+', grades)

答案 1 :(得分:1)

尝试使用.split(", ")分割输入。这应该返回一个字符串列表。

然后使用map将它们转换为整数。 map接受一个函数(在本例中为int)并将该函数应用于一系列值。

>>> inputs = input("Three test scores: ").split(", ")
Three test scores: 1, 2, 3
>>> grade1, grade2, grade3 = map(int, inputs)
>>> grade1
1
>>> grade2
2
>>> grade3
3

或更紧凑:

grade1, grade2, grade3 = map(int, input("Three test scores: ").split(", "))