python - 为什么我每次都得到 F 的成绩?
问题描述
整个代码运行,前半部分有效(即 <40 部分),但如果它到达 else 部分,它只会给出 F 级。
w = input("Input Student ID:")
x = int(input("Input Assignment Score:"))
y = int(input("Input Midterm Score:"))
if (x + y)/2 < 40:
print(w + ": F Without Final")
else:
z = int(input("Input Final Score:"))
if (.25 * x + .25 * y + .5 * z)/3 < 50:
print(w + ": F")
elif (.25 * x + .25 * y + .5 * z)/3 < 60:
print(w + ": D")
elif (.25 * x + .25 * y + .5 * z)/3 < 70:
print(w + ": C")
elif (.25 * x + .25 * y + .5 * z)/3 < 80:
print(w + ": B")
else:
print(w + ": A")
解决方案
您在第二部分进行加权平均;删除/3
它应该可以工作
推荐阅读
- node.js - 使用 papaparse 忽略 csv 文件的标题
- sql - 在同一个表中分组和连接行 - SQLite
- python - 在我将其更改为“agg”之前,我的后端是什么?
- python - 为什么我的 tkinter 标签会出现“未知选项“-Text””?
- python - 两个 Asyncio 同时休眠
- assembly - 如何比较输入数字和汇编中的数字?
- batch-file - 如何仅移动与另一个文件夹中的文件名匹配的文件
- c - 如何在 C 中定义一个接受格式化输入字符串的函数?
- java - 在springboot应用程序中登录h2 db时如何超越登录屏幕
- ios - 带有 CloudKit 的 CoreData:记录类型未显示在仪表板中