求求大神救救小白,python最新版P7作业
为啥这个会错:while True :
temp = input("请输入你的分数")
numb = int(temp)
if temp == 'e':
break
else:
if numb < 60:
print("D")
else:
if 60 <= numb < 80:
print("C")
else:
if 80 <= numb <90:
print("B")
else :
if 90 <= numb <100:
print("A")
else:
print("S")
为啥这个就对:
while True :
temp = input("请输入你的分数")
if temp == 'e':
break
else:
numb = int(temp)
if numb < 60:
print("D")
else:
if 60 <= numb < 80:
print("C")
else:
if 80 <= numb <90:
print("B")
else :
if 90 <= numb <100:
print("A")
else:
print("S")
这个是标准答案
score = input("请输入你的分数:")
while score != 'e':
score = int(score)
if score < 60:
print("D")
if 60 <= score < 80:
print("C")
if 80 <= score < 90:
print("B")
if 90 <= score < 100:
print("A")
if score == 100:
print("S")
score = input("请输入你的分数:")
标准答案比我的好在哪里?我这种思维对么?需要那些改进。
谢谢各位前辈引路{:9_221:}
因为你已经把numb设置成了整数(int),你输入一个e,肯定会报错,为什么第二个就对了呢,因为第二个在else里面才把numb设置成整数,也就是说这个循环一旦开始,优先判定temp是不是e,如果不是e再开始化为整数,开始下面的条件分支(我也是小白,暑假才学的) 标准答案和我说的也是一个意思,也是先判断temp是否等于e,如果不等于,再把它化为整数 说的再详细一点,因为你在第四行输入了这个numb = int(temp),也就是说,你已经把temp认定为一个数了,因为只有数才能化为整数,而你运行的时候输入一个e,e并不是数,就产生了问题 本帖最后由 傻眼貓咪 于 2021-9-9 17:37 编辑
{:5_99:}{:5_99:}{:5_99:}while True:
score = input("請輸入你的分數:")
if score == 'e': break
else:
if eval(score) < 60: print("D")
elif eval(score) < 80: print("C")
elif eval(score) < 90: print("B")
else: print("A")
break 本帖最后由 niuniuniu666 于 2021-9-9 17:29 编辑
德丽莎最可爱 发表于 2021-9-9 12:42
因为你已经把numb设置成了整数(int),你输入一个e,肯定会报错,为什么第二个就对了呢,因为第二个在else ...
{:10_275:}这位大佬说的很对。如果按照原有代码顺序,先给temp赋值位字符串'e',之后对字符串'e'使用int()方法的话,就会报错,因为字符串没有int()方法。
对字符串使用int()方法就会报错。
niuniuniu666 发表于 2021-9-9 17:25
这位大佬说的很对。如果按照原有代码顺序,先给temp赋值位字符串'e',之后对字符串'e'使用int( ...
我就差不多得了,我才学了十几天,但是一直在钻研,做笔记,收获还是不少的 德丽莎最可爱 发表于 2021-9-9 12:42
因为你已经把numb设置成了整数(int),你输入一个e,肯定会报错,为什么第二个就对了呢,因为第二个在else ...
如果我输入a,肯定都会报错滴吧
页:
[1]