Python判断一个年份是否是闰年

03. 判断一个年份是否是闰年

不能被4整除肯定不是闰年,

能被100整除但是不能被400整除,也不是闰年

其他情况就是闰年。0属于int 么是的

✅ 你的原始程序:

python 复制代码
python
复制
def get_year(prompt):
	while True:
		try:
			iyear = int(input(prompt))
			if iyear > 0:
				return iyear
			else:
				print("input a year please try again")
		except ValueError:
			print("input a year please try again")

def is_leap_year(iyear):
	if iyear % 4 != 0 or (iyear % 100 == 0 and iyear % 400 != 0):
		return("not leap year")
	else:
		return("it is leap year")

if __name__ == "__main__":
	iyear = get_year("input a year")
	print(is_leap_year(iyear))

return("...") 括号不必要

虽然语法没问题,但习惯上:

kotlin 复制代码
python
复制
return "it is leap year"

✅ 答案是:

在 Python 中,return 后面加不加括号都可以,但通常推荐:

❗ 不要加括号 ,除非你要返回一个元组

✅ 正确写法示例:

ruby 复制代码
python
复制
def greet():
    return "Hello"       # ✅ 推荐写法

你也可以这么写:

ruby 复制代码
python
复制
def greet():
    return("Hello")      # ✅ 合法,但不推荐

这两个写法完全等价。return 是关键字,不是函数,括号没实际意义。

✅ 什么时候应该加括号?

只有你要返回一个元组,并且写在多行,才推荐加括号:

kotlin 复制代码
python
复制
return (
    "first line",
    "second line",
    "third line"
)

🧠 总结口诀:

return 后面是值,不是函数调用。能不加括号就别加。

要返回多个值时,才用括号返回元组,记得写逗号!

一、编程里的关键词(Keywords)

✅ 什么是关键词?

关键词(也叫保留字)是编程语言内置、已经被系统"占用"的词,不能拿来当变量名或函数名。

这些词在语言中有特定功能,是构成语法结构的基本元素。

📌 Python 常见关键词有哪些?

python 复制代码
python
复制
False, True, None, and, or, not, if, else, elif,
for, while, break, continue, return, def, class,
try, except, finally, import, from, as, global,
nonlocal, with, yield, assert, lambda, del, pass, raise

✅ 举个例子:

ini 复制代码
python
复制
def = 5  # ❌ 报错!"def" 是关键词,不能当变量名

✅ 怎么查看所有关键词?

go 复制代码
python
复制
import keyword
print(keyword.kwlist)

🔧 关键词器的作用(在编程中)?

👉 通常叫做"语法高亮器 / 分析器 / 解释器",它能识别代码中的关键词,对它们:

  • 进行语法解析
  • 上色高亮(让人更容易阅读)
  • 防止被误用(比如用关键词当变量)

这样写都对不对

python 复制代码
python
复制
def get_year(prompt):
	while True:
		try:
			iyear = int(input(prompt))
			if iyear > 0:
				return iyear
			else:
				print("input a year please try again")
		except ValueError:
			print("input a year please try again")

def is_leap_year(iyear):
	if iyear % 4 != 0 or (iyear % 100 == 0 and iyear % 400 != 0):
		print("not leap year")
	else:
		print("it is leap year")

if __name__ == "__main__":
	iyear = get_year("input a year")
	print(is_leap_year(iyear))

其实我本意是想说:

你把一个不返回值的函数(is_leap_year())当成有返回值的来用 print() 打印,就会出现 None。

我给你详细解释 👇

❗ 如果没有 return,会怎么样?

scss 复制代码
python
复制
def say_hello():
    print("Hello!")

print(say_hello())

流程是:

  1. 执行 say_hello(),输出 Hello!
  2. 但它 没有 return 值 ,默认返回 None
  3. 所以 print(None) 也被执行,输出 None

最终输出是:

css 复制代码
css
复制
Hello!
None

✅ 总结口诀:

先执行括号里的函数 → 得到返回值 → 再 print 这个返回值

相关推荐
quantdash_cc13 分钟前
从实时行情到价格观察表:用 Python 和 Pandas 构建策略输入数据
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
镜子AI14 分钟前
镜子AI工程实践:用 Python 做 GEO 实体一致性审计,并自动生成 JSON-LD 结构化数据
人工智能·python·json
2601_962885724 小时前
如何用 Python 计算 VaR 和 CVaR(在险价值)?
开发语言·python
李航19835 小时前
DeepSeekAI建模三 - 实战建模一组柜子
人工智能·python·计算机视觉·ai·ai编程
严谨的麻辣烫6 小时前
静态代理 IP 的出口一致性如何验证?Python 请求检测与异常排查
开发语言·python·http·网络安全
我命由我123456 小时前
5-1.Python 编码进阶 - 函数进阶(参数、返回值、递归、函数作为参数传递、lambda 匿名函数)
java·服务器·数据库·后端·python·java-ee·python3.11
FITA阿泽要努力6 小时前
Fork Agent:共享上下文的艺术
开发语言·python·agent
DeeGLMath7 小时前
optimtool最新版研究梯度优化
python·optimtool·梯度优化
坐吃山猪7 小时前
Python-Hermite基函数
开发语言·python
空~自由7 小时前
Python 正则 . * ? .* .*? (.*?) 通俗讲解
开发语言·python