问题描述
嗨,我正在参加 Python 初学者课程,但似乎无法理解我正在从事的项目的两件事。
这就是我现在所拥有的:
def main():
# Length of the period (in months)
a = 0
number_of_months = input("Enter the number of months: ")
#Variable for sum
total_sum = 0
#Convert to int
b = (int(number_of_months))
#The program reads the points of each month
while a < b:
#Assign a numerical value to each month
for n in range (b):
a = a + 1 #Asign a number per month
points = int(input(f"Enter the number of credits in month {a}:"))
#Sum of the points
for i in range(points):
total_sum = points + total_sum
print(total_sum)
#Average
#Determine if the user qualifies as full time student
#Determine if the user is a full time student
#Calculate the avarage
if __name__ == "__main__":
main()
这是我正在做的作业:
首先,程序会等待用户输入信用点获得的时间长度(以月为单位):
输入月数: 在输入时间段长度后,程序开始读取每个月的信用点收益:
输入 X 月的学分数: 其中 X 是应输入其信用点增益的月份的序号。请注意,这不是月份数,而是始终从 1 开始的运行序数。
如果用户连续 2 个月没有获得任何积分,程序会立即打印:
你的学习时间确实太多了!
否则,在用户输入所考虑期间内所有月份的信用点增益后,程序将计算并报告用户是否被视为全日制学生。
如果用户是全日制学生(平均每月学分增加为 5 或更多),程序将打印:
您是一名全日制学生,您的月平均学分是 是的。
其中 Y.Y 是使用一位小数精度打印的每月信用点收益的平均值。
否则程序会打印:
您的月平均信用点 Y.Y 并未将您归类为完整 时间学生。
再次 Y.Y 表示使用一位小数的平均信用点增益。
解决方法
你让这种方式变得比它需要的更难。只需将每个答案放在一个列表中。这样,您可以将新输入的值与列表中的最后一项进行比较。完成后,您可以对列表求和并除以长度。
owner = 'QUEUE_OWNER'