有很多问题,不是把=换成==就能解决的:
创新互联公司作为成都网站建设公司,专注重庆网站建设公司、网站设计,有关企业网站设计方案、改版、费用等问题,行业涉及木托盘等多个领域,已为上千家企业服务,得到了客户的尊重与认可。
一、函数定义后面缺少冒号
二、没有正确的缩进
三、==误用成=
四、关键字开关不能是大写
五、raw_input拼写错误,_与input之间不能有空格
六、raw_input获得的内容是string,不能进行计算,要改成int(raw_input)
七、print语句在y之间不能用引号,修改后的代码如下:
def year(y):
if y % 100 == 0 and y % 400 == 0:
print y , "是闰年"
elif y % 100 != 0 and y % 4 == 0:
print y,"是闰年"
else :
print y,"不是闰年"
return
year(int(raw_input("请输入年份:")))
def is_leap(year):
year = int(year)
return year % 400 == 0 or (year%4==0 and year%100!=0)
for i in range(5):
temp = input('输入你想要的年份')
while not temp.isdigit():
temp = input("请输入整数")
if is_leap(temp):
print(temp+'是闰年')
else:
print(temp+'不是闰年')
你好:
你的最外面一个while循环,写的是q==0;
而在你的循环里面:q
=
q
+
1
当执行完一轮之后;
q就不等于0了,所以就推出了!
[i for i in range(1900, 2021) if i%4 == 0 and (i%100 != 0 or i%400 == 0)]
[1904, 1908, 1912, 1916, 1920, 1924, 1928, 1932, 1936, 1940, 1944, 1948, 1952, 1956, 1960, 1964, 1968, 1972, 1976, 1980, 1984, 1988, 1992, 1996, 2000, 2004, 2008, 2012, 2016, 2020]
关键部分代码给你:
if (year%4==0 and year%100!=0) or year%400==0:
print(year,"年是闰年")
print(m1)
else:
print(year,“年不是闰年”)
print(m2)
下面是一个 Python 程序,可以用来判断一个年份是否是闰年:
# 定义函数 is_leap_year,用来判断某个年份是否是闰年
def is_leap_year(year):
# 闰年的条件是:
# 1. 能被 4 整除,但不能被 100 整除
# 2. 能被 400 整除
return (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
# 测试函数
assert is_leap_year(2000) == True # 2000 是闰年
assert is_leap_year(2004) == True # 2004 是闰年
assert is_leap_year(1900) == False # 1900 不是闰年
assert is_leap_year(2003) == False # 2003 不是闰年
上面的代码定义了一个函数 is_leap_year,该函数接收一个年份作为参数,并返回一个布尔值,表示该年份是否是闰年。
闰年的定义是:
能被 4 整除,但不能被 100 整除
能被 400 整除
这两个条件可以用一个条件语句表示出来:
(year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
如果满足上述条件之一,则返回 True,否则返回 False。
在上面的程序中,还使用了 Python 的断言语句 assert 来测试函数的正确性。在断言语句中,我们对函数的输出结果进行比较,如果与预期不符,则会触发 AssertionError 错误。这是一种非常方便的测试方法。
网站题目:python用函数写闰年 python编写闰年
文章起源:https://www.cdcxhl.com/article14/docidde.html
成都网站建设公司_创新互联,为您提供网站排名、ChatGPT、网站建设、网站收录、软件开发、微信小程序
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联