我需要创建一个满足以下条件的程序。
“您的程序应该提示用户输入与实验室相同的输入值,但不是让用户在每一行输入一个值,而是一行需要多个值。后面的每个项目对应一行输入:“
T1 = input('Test One Score(0-100): ')
T2 = input('Test Two Score(0-100): ')
F1 = input('Final Test Score(0-100): ')
HW = input('Homework Score(0-100): ')
IC = input('Quiz Score(0-100): ')
LAB = input('Lab Score(0-100): ')
BP = input('Bonus Points(0-3): ')
print('Overall Score: ',((float(T1)+float(T2))*.19) + (float(F1) * 0.22) + (float(HW) * 0.18) + (float(IC) * 0.08) + (float(LAB) * 0.14)+(float(BP)))
print("Overall Score Without BP's: ",((float(T1)+float(T2))*.19) + (float(F1) * 0.22) + (float(HW) * 0.18) + (float(IC) * 0.08) + (float(LAB) * 0.14))
使用的公式“0.19(t1 + t2)+ 0.22t3 + 0.18hw + 0.08quiz + 0.14lab”
这是第一次做的,但我不知道怎么做,所以所有的输入只有一个输入提示。
答案 0 :(得分:0)
all = input("Please input your scores from T1,T2 etc Please separate each value by a space: ")
T1, T2, etc = all.split()
答案 1 :(得分:0)
当然,您可以使用str.split
方法在列表中拆分字符串。即
a = input('Answer, separate by comma')
# User fills in 42,60,1
a = a.split(',')
# Not required, but probably safer
a = [ a.strip() for a in a.split(',') ]
你也可以使用转义字符来移动光标,这不是完全,就像我读你的作业一样,但恕我直言你的作业没有意义,因为你有7个问题,都有不同的约束。我认为这更加用户友好(当然,你也可以将两种解决方案结合起来)
b = input('Question 1: ')
# Move cursor up
print('\x1b[1A', end='')
# Clear line, note this can be combined in 1 print()
print('\x1b[2K', end='')
c = input('Question 2: ')
此外,转换为int
或float
可能是您想尝试/捕获的内容,并打印友好警告:
>>> int('42')
42
>>> int('a42')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'a42'
注意:这个答案使用Python 3,你似乎也使用Python 3.Python 2的答案略有不同。
答案 2 :(得分:0)
questions = '''Test One Score(0-100):
Test Two Score(0-100):
Final Test Score(0-100):
Homework Score(0-100):
Quiz Score(0-100):
Lab Score(0-100):
Bonus Points(0-3):'''
T1, T2, F1, HW, IC, LAB, BP = map( input, questions.split('\n'))