我之前已经发布过这个,但我正在重新发布它并提供更详细的信息。
而且,到目前为止,这是我的代码:
# Define a function that caculates average test scores
def calculate_average(score1, score2, score3, score4, score5):
total = score1 + score2 + score3 + score4 + score5
average = total % 5
print(average)
# Define a function that determines a letter grade
# Based on the given score
def determine_grade(score):
if score < 60:
print 'F'
elif score => 60 or score <= 69:
print 'D'
elif score => 70 or score <= 79:
print 'C'
elif score => 80 or score <= 89:
print 'B'
elif score => 90 or score <= 100:
print 'A'
# Define a function that prompts the user to input names and test scores
def input_data():
score1 = input('Enter score 1:')
name1 = input('Enter name 1:')
score2 = input('Enter score 2:')
name2 = input('Enter name 2:')
score3 = input('Enter score 3:')
name3 = input('Enter name 3:')
score4 = input('Enter score 4:')
name4 = input('Enter name 4:')
score5 = input('Enter score 5:')
name5 = input('Enter name 5:')
# Define a function that displays a letter grade for each score
# followed by the student's name and the average test score
def display_menu():
正如我在第一篇文章中所说,除了设置那张桌子之外,我对任何事情都没有真正的问题。我真的很困惑!
我问了我的导师(顺便说一句,这是一门在线课程),他说:“它只是使用打印运算符,就像您在之前的模块中所做的那样,打印文本、变量和函数的返回值。”
现在我只是想知道从哪里开始。
编辑:我已经更新了我的代码:
# Define a function that prompts the user to input names and test scores
def input_data():
score1 = input('Enter score 1:')
name1 = input('Enter name 1:')
score2 = input('Enter score 2:')
name2 = input('Enter name 2:')
score3 = input('Enter score 3:')
name3 = input('Enter name 3:')
score4 = input('Enter score 4:')
name4 = input('Enter name 4:')
score5 = input('Enter score 5:')
name5 = input('Enter name 5:')
# Define a function that determines a letter grade
# Based on the given score
def determine_grade(score):
if score < 60:
print ('F')
elif 60 <= score <= 69:
print ('D')
elif 70 <= score <= 79:
print ('C')
elif 80 <= score <= 89:
print ('B')
elif 90 <= score <= 100:
print ('A')
# Define a function that caculates average test scores
def calculate_average(score1, score2, score3, score4, score5):
total = score1 + score2 + score3 + score4 + score5
average = total / 5
print(average)
# Define a function that displays a letter grade for each score
# followed by the student's name and the average test score
def display_menu():
for x in range(10):
print("{:<10}".format("{:0.1f}".format(x)), end='')
print ("Name\t\t\tnumeric grade\t\tletter grade")
print ("---------------------------------------------------------------")
print ("%s:\t\t\t%f\t\t%s") % ('name1', 'score1', determine_grade)
print ("%s:\t\t\t%f\t\t%s") % ('name2', 'score2', determine_grade)
print ("%s:\t\t\t%f\t\t%s") % ('name3', 'score3', determine_grade)
print ("%s:\t\t\t%f\t\t%s") % ('name4', 'score4', determine_grade)
print ("%s:\t\t\t%f\t\t%s") % ('name5', 'score5', determine_grade)
print ("---------------------------------------------------------------")
编辑#2:这是我目前的代码:
# Define a function that prompts the user to input names and test scores
def input_data():
score1 = input('Enter score 1:')
name1 = input('Enter name 1:')
score2 = input('Enter score 2:')
name2 = input('Enter name 2:')
score3 = input('Enter score 3:')
name3 = input('Enter name 3:')
score4 = input('Enter score 4:')
name4 = input('Enter name 4:')
score5 = input('Enter score 5:')
name5 = input('Enter name 5:')
# Define a function that caculates average test scores
def calculate_average(score1, score2, score3, score4, score5):
total = score1 + score2 + score3 + score4 + score5
average = total / 5
print(average)
# Define a function that determines a letter grade
# Based on the given score
def determine_grade(score):
if score < 60:
print ('F')
elif 60 <= score <= 69:
print ('D')
elif 70 <= score <= 79:
print ('C')
elif 80 <= score <= 89:
print ('B')
elif 90 <= score <= 100:
print ('A')
# Define a function that displays a letter grade for each score
# followed by the student's name and the average test score
def display_menu():
print ("Name\t\t\tnumeric grade\t\tlettergrade")
print ("---------------------------------------------------------------")
print ("%s:\t\t\t%f\t\t%s" % ('name1', 93, 'A'))
print ("%s:\t\t\t%f\t\t%s" % ('name2', 89, 'B'))
print ("%s:\t\t\t%f\t\t%s" % ('name3', 76, 'C'))
print ("%s:\t\t\t%f\t\t%s" % ('name4', 58, 'F'))
print ("%s:\t\t\t%f\t\t%s" % ('name5', 98, 'A'))
print ("---------------------------------------------------------------")
print (calculate_average)
这就是我运行它时发生的情况:
现在,我主要有两个问题:
1)如何在表格显示之前执行输入语句并输入数据?
2) 如何转换显示的数字,使其为“.2f”格式?(我已经尝试了几种方法,但都没有奏效)。
希望最后的编辑:我非常接近解决方案,但需要更多帮助。
这是我的代码:
# Define a function that prompts the user to input names and test scores
score = input('Enter score 1:')
name1 = input('Enter name 1:')
score = input('Enter score 2:')
name2 = input('Enter name 2:')
score = input('Enter score 3:')
name3 = input('Enter name 3:')
score = input('Enter score 4:')
name4 = input('Enter name 4:')
score = input('Enter score 5:')
name5 = input('Enter name 5:')
# Define a function that determines a letter grade
# Based on the given score
def determine_grade(score):
if score < 60:
print ('F')
elif 60 <= score <= 69:
print ('D')
elif 70 <= score <= 79:
print ('C')
elif 80 <= score <= 89:
print ('B')
elif 90 <= score <= 100:
print ('A')
determine_grade(score)
# Define a function that caculates average test scores
def calculate_average(score):
total = score + score + score + score + score
average = total / 5
print(average)
calculate_average(score)
# Define a function that displays a letter grade for each score
# followed by the student's name and the average test score
def display_menu():
print ("Name\t\t\tnumeric grade\t\tlettergrade")
print ("---------------------------------------------------------------")
print ("%s:\t\t\t%f\t\t%s" % ('name1', 'score', determine_grade('score')))
print ("%s:\t\t\t%f\t\t%s" % ('name2', 'score', determine_grade('score')))
print ("%s:\t\t\t%f\t\t%s" % ('name3', 'score', determine_grade('score')))
print ("%s:\t\t\t%f\t\t%s" % ('name4', 'score', determine_grade('score')))
print ("%s:\t\t\t%f\t\t%s" % ('name5', 'score', determine_grade('score')))
print ("---------------------------------------------------------------")
calculate_average(score)
这就是我按 F5 时发生的情况:
伙计们,我几乎完成了,只需要格式化方面的帮助: 我创建了另一个文件,以便稍微重新组织我的代码,这就是为什么没有评论的原因。这就是我所拥有的:
score1 = float(input('Enter score 1:'))
name1 = input('Enter name 1:')
score2 = float(input('Enter score 2:'))
name2 = input('Enter name 2:')
score3 = float(input('Enter score 3:'))
name3 = input('Enter name 3:')
score4 = float(input('Enter score 4:'))
name4 = input('Enter name 4:')
score5 = float(input('Enter score 5:'))
name5 = input('Enter name 5:')
def determine_letter_grade1(score1):
if score1 < 60.0:
print ('F')
elif 60.0 <= score1 <= 69.0:
print ('D')
elif 70.0 <= score1 <= 79.0:
print ('C')
elif 80.0 <= score1 <= 89.0:
print ('B')
elif 90.0 <= score1 <= 100.0:
print ('A')
def determine_letter_grade2(score2):
if score2 < 60.0:
print ('F')
elif 60.0 <= score2 <= 69.0:
print ('D')
elif 70.0 <= score2 <= 79.0:
print ('C')
elif 80.0 <= score2 <= 89.0:
print ('B')
elif 90.0 <= score2 <= 100.0:
print ('A')
def determine_letter_grade3(score3):
if score3 < 60.0:
print ('F')
elif 60.0 <= score3 <= 69.0:
print ('D')
elif 70.0 <= score3 <= 79.0:
print ('C')
elif 80.0 <= score3 <= 89.0:
print ('B')
elif 90.0 <= score3 <= 100.0:
print ('A')
def determine_letter_grade4(score4):
if score4 < 60.0:
print ('F')
elif 60.0 <= score4 <= 69.0:
print ('D')
elif 70.0 <= score4 <= 79.0:
print ('C')
elif 80.0 <= score4 <= 89.0:
print ('B')
elif 90.0 <= score4 <= 100.0:
print ('A')
def determine_letter_grade5(score5):
if score5 < 60.0:
print ('F')
elif 60.0 <= score5 <= 69.0:
print ('D')
elif 70.0 <= score5 <= 79.0:
print ('C')
elif 80.0 <= score5 <= 89.0:
print ('B')
elif 90.0 <= score5 <= 100.0:
print ('A')
average = (score1 + score2 + score3 + score4 + score5) / 5.0
def determine_letter_grade_avg(average):
if average < 60.0:
print ('F')
elif 60.0 <= average <= 69.0:
print ('D')
elif 70.0 <= average <= 79.0:
print ('C')
elif 80.0 <= average <= 89.0:
print ('B')
elif 90.0 <= average <= 100.0:
print ('A')
def display_menu():
for x in range(10):
print("{:<10}".format("{:0.1f}".format(x)), end='')
print ("Name\t\t\tnumeric grade\t\tletter grade")
print ("---------------------------------------------------------------")
print ("%s:\t\t\t%f\t\t%s" % (name1, score1, determine_letter_grade1(score1)))
print ("%s:\t\t\t%f\t\t%s" % (name2, score2, determine_letter_grade2(score2)))
print ("%s:\t\t\t%f\t\t%s" % (name3, score3, determine_letter_grade3(score3)))
print ("%s:\t\t\t%f\t\t%s" % (name4, score4, determine_letter_grade4(score4)))
print ("%s:\t\t\t%f\t\t%s" % (name5, score5, determine_letter_grade5(score5)))
print ("---------------------------------------------------------------")
print ('Average Score:', average, determine_letter_grade_avg(average))
当我运行它时: