为什么用try except就不对呢?还是我用错了,求指教。
Topic source接上面没法出去的打卡:
import unittest
class Student(object):
def __init__(self, name, score):
self.name = name
self.score = score
def get_grade(self):
if 60 <= self.score < 80:
return 'B'
if 80 <= self.score <= 100:
return 'A'
if 0 <= self.score < 60:
return 'C'
else:
raise ValueError
因为写成try,try里面不会出错的话就根本不会进except块。
按照第一种写成try的写法,try执行完没有符合条件的,方法就执行完了。
只有写成if-else,才能在前面所有if都不满足的情况下,执行最后一个else。
try是用来捕获错误的,if-else是条件语句,不能等价替换。
- 1
XERIN24040
import unittest
class Student(object):
def __init__(self, name, score):
self.name = name
self.score = score
def get_grade(self):
try:
if 60 <= self.score < 80:
return 'B'
if 80 <= self.score <= 100:
return 'A'
if 0 <= self.score < 60:
return 'C'
except :
raise ValueError
打卡: