2. 以下是闰年的判定准则, 请给出一个判定函数is_leap(int year)用来判定给定的年份是否为闰年。 设计该函数的黑盒测试用例(决策表方法) 请对照决策表重新写is_leap判定函数,将每一列改写写成一行条件语句。两种方式,你认为哪种更容易理解呢?
时间: 2024-05-05 18:17:55 浏览: 138
回答:好的,我明白了。对于第一个问题,以下是is_leap函数的决策表和对应的黑盒测试用例:
|条件|决策|
|:-:|:-:|
|年份能被4整除但不能被100整除|闰年|
|年份能被400整除|闰年|
|其它|非闰年|
|测试用例|输入|预期输出|
|:-:|:-:|:-:|
|1|2000|闰年|
|2|2020|闰年|
|3|1900|非闰年|
|4|2021|非闰年|
以下是将决策表改写成一行条件语句的两种方式:
方式一:
```python
def is_leap(year):
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
return "闰年"
else:
return "非闰年"
```
方式二:
```python
def is_leap(year):
if year % 4 == 0:
if year % 100 != 0:
return "闰年"
elif year % 400 == 0:
return "闰年"
else:
return "非闰年"
else:
return "非闰年"
```
个人认为方式一比方式二更容易理解,因为方式一将所有条件都写在了一行,结构更清晰简洁。
阅读全文