鱼C论坛

 找回密码
 立即注册
查看: 2809|回复: 3

[已解决]代码有些许不懂

[复制链接]
发表于 2021-7-2 22:37:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
temp = input('请输入一个年份:')
while not temp.isdigit():
    temp = input('输入的格式有问题,请输入具体数字:')
year = int(temp)
if (year / 400) == int(year / 400):
    print(temp + '是闰年')
else:
    if (year / 4 == int(year / 4)) and (year / 100 != int(year / 100)):
        print(temp + '是闰年')
    else:
        print(temp + '不是闰年')
这个代码里面为啥最后打印要用temp+文字,而不是用year+文字。用year+文字出现的最后结果就是year是润年。
最佳答案
2021-7-3 08:54:56
第四行year = int(temp)
你已经将year定义为整型变量
int变量和字符串,两种不同的类型不能用加号连接会报错
而在第一行temp = input('请输入一个年份:')
temp被定义为字符串类型(input()函数自动返回字符串类型)
可以和字符串用加号连接
你问题中所说"用year+文字出现的最后结果就是year是润年。"
可能是因为你写的是print('year'+ '是闰年')
用双引号引上的内容不是变量了

还有就是一个提醒,尽量避免将函数定义为变量名
temp是一种函数
最好把变量名改为temp1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-7-2 22:45:58 | 显示全部楼层
用 year + 文字不会报错吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-2 23:35:56 | 显示全部楼层
本帖最后由 jackz007 于 2021-7-2 23:41 编辑

      python 判断整除有专门的方法
  1. if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
  2.     print(temp , '是闰年')
  3. else
  4.     print(temp , '不是闰年')
复制代码

    % 是取余运算符,如果 a 能够被 b 整除,则 a % b == 0 的值为 True,就是说,a 除以 b 的余数是 0 值。
    楼主不妨试试看  
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-3 08:54:56 | 显示全部楼层    本楼为最佳答案   
第四行year = int(temp)
你已经将year定义为整型变量
int变量和字符串,两种不同的类型不能用加号连接会报错
而在第一行temp = input('请输入一个年份:')
temp被定义为字符串类型(input()函数自动返回字符串类型)
可以和字符串用加号连接
你问题中所说"用year+文字出现的最后结果就是year是润年。"
可能是因为你写的是print('year'+ '是闰年')
用双引号引上的内容不是变量了

还有就是一个提醒,尽量避免将函数定义为变量名
temp是一种函数
最好把变量名改为temp1
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-25 14:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表