鱼C论坛

 找回密码
 立即注册
查看: 1709|回复: 8

[已解决]python第4集的某个题目呜呜不会

[复制链接]
发表于 2017-10-29 21:14:17 | 显示全部楼层 |阅读模式

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

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

x
我是新手,刚学这个,然后按照教程做到这题如何判断这是闰年(题目在图中 微信图片_20171029211205.jpg )的时候,没有看答案,然后自己打,看完之后参考了其中的一些,再根据后面学的内容,添加了自己的想法重新打,可是发现有挺多漏洞,求助大神

我的程序1

我的程序1

我的程序2

我的程序2

微信图片_20171029204002.jpg

我的程序:
print("猜猜是否是闰年???")
answer = input("请输入一个年份:")
while True:
    if answer == answer.isdigit():
        break
     print("回答错误")
     answer = input("请重新输入正确的年份")
   
  

   
year = int(anwser)
if year/4 == int(year/4) and  year/100 != int(year/100):
    print("恭喜你"+answer+"是闰年\!")
else:
    print("对不起你猜错咯")
if  year/400 == int(year/400):
    print("恭喜你"+answer+"是闰年哦\!")




第一次发帖子,不怎么懂把程序文本贴上来望见谅
最佳答案
2017-10-29 21:37:59
print("猜猜是否是闰年???")
answer = input("请输入一个年份:")
while True:
    if answer == answer.isdigit():
#改为if answer.isdigit():
        break
     print("回答错误")
     answer = input("请重新输入正确的年份")
   
  

   
year = int(anwser)
if year/4 == int(year/4) and  year/100 != int(year/100):
#改为if (year % 4 == 0 and  year % 100)  or y % 400 == 0:
    print("恭喜你"+answer+"是闰年\!")
else:
    print("对不起你猜错咯")
#后面的删掉
if  year/400 == int(year/400):
    print("恭喜你"+answer+"是闰年哦\!")
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-10-31 21:04:44 | 显示全部楼层
微信图片_20171031210245.jpg 新的问题出现,为什么还是显示这样呢,继续求助大神
微信图片_20171031210350.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-29 21:16:09 | 显示全部楼层
我是windows python3的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-29 21:37:59 | 显示全部楼层    本楼为最佳答案   
print("猜猜是否是闰年???")
answer = input("请输入一个年份:")
while True:
    if answer == answer.isdigit():
#改为if answer.isdigit():
        break
     print("回答错误")
     answer = input("请重新输入正确的年份")
   
  

   
year = int(anwser)
if year/4 == int(year/4) and  year/100 != int(year/100):
#改为if (year % 4 == 0 and  year % 100)  or y % 400 == 0:
    print("恭喜你"+answer+"是闰年\!")
else:
    print("对不起你猜错咯")
#后面的删掉
if  year/400 == int(year/400):
    print("恭喜你"+answer+"是闰年哦\!")
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-29 21:40:32 | 显示全部楼层
1  if answer == answer.isdigit()
这句没必要这样写,因为这个永远都不会成立直接写成
if answer.isdigit():
即可,因为answer.isdigit()函数的返回值就是True 或者False,表示是不是数字

2 因为input函数返回的始终是一个str对象,所以请用int()对input函数进行强制类型转换

3 因为python3以后的版本的 / 除法都是准确除,也就是  5/2 == 2.5
而int转换的时候是直接舍去小数部分
所以请用 取余操作 % 来解决这个题目
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-29 21:45:24 | 显示全部楼层
本帖最后由 chakyam 于 2017-10-29 21:46 编辑

print("判断是否是闰年???")
answer = input("请输入一个年份:")
while True:
    if answer.isdigit():
        break
     print("回答错误")
     answer = input("请重新输入正确的年份")
   
  

   
year = int(answer)
if year/4 == int(year/4) and  year/100 != int(year/100):
    print("恭喜你"+answer+"是闰年\!")
elif  year/400 == int(year/400):
    print("恭喜你"+answer+"是闰年哦\!")
else:
    print(answer+"不是闰年\!")
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-30 09:56:24 | 显示全部楼层
同意
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-10-30 16:52:04 | 显示全部楼层
  1. temp = input("请输入年份:")
  2. while not temp.isdigit():
  3.     temp = input("您输入的不是整数,请重新输入年份:")
  4. year = int(temp)
  5. x = year / 400
  6. y = year / 4
  7. z = year / 100
  8. xx = int(x)
  9. yy = int(y)
  10. zz = int(z)
  11. if x-xx == 0.0:
  12.     print(year,'是闰年')
  13. elif (y - yy ==  0.0) and (z-zz != 0.0):
  14.     print(year,"是闰年")
  15. else:
  16.     print(year,"是平年")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-31 20:36:13 | 显示全部楼层
谢谢每一位热心回答我问题的网友,真的很感谢,我这几天都在上学,没时间上,一上发现那么多人帮助我,很感动,会好好学好的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-3 13:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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