我正在尝试使用我的程序平均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
任何帮助??
答案 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(", "))