鱼C论坛

 找回密码
 立即注册
查看: 2661|回复: 11

[已解决]请问这个else条件语句始终报错问题?

[复制链接]
发表于 2020-2-16 11:50:02 | 显示全部楼层 |阅读模式

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

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

x
"""计算一年有多少秒"""
temp= input("请输入你想计算的年数: ")
year_count= int(temp)
num= year_count/4

"if isinstance(num,int):"
if type(num) == int:
        even= year_count*364*24*6
        print("计算的闰年秒数: ", cont)
"""if isinstance(num,float):"""
else type(num) == float:
        odd= year_count*365*24*6
        print("计算的平年秒数: ", odd)
最佳答案
2020-2-16 12:38:05
本帖最后由 jackz007 于 2020-2-16 12:47 编辑

        判断整除必须用取余操作%
  1. year_count = int(input('请输入你想计算的年数:'))
  2. if (year_count % 4 == 0 and year_count % 100 != 0) or year_count % 400 == 0:
  3.     print("计算的闰年秒数: ", 3600 * 24 * 366)
  4. else:
  5.     print("计算的平年秒数: ", 3600 * 24 * 365)
复制代码

        写 Python 代码最关键的要点是简洁!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-16 12:02:23 | 显示全部楼层
else后面不能加条件
或者可以用elif
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-16 12:09:53 | 显示全部楼层
else 后面不能加条件,改成 elif。代码帮你改了:


  1. """计算一年有多少秒"""
  2. temp= input("请输入你想计算的年数: ")
  3. year_count= int(temp)
  4. num= year_count/4

  5. "if isinstance(num,int):"
  6. if type(num) == int:
  7.         even= year_count*364*24*6
  8.         print("计算的闰年秒数: ", cont)
  9. """if isinstance(num,float):"""
  10. elif type(num) == float:
  11.         odd= year_count*365*24*6
  12.         print("计算的平年秒数: ", odd)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-16 12:18:28 | 显示全部楼层
将else改为elif就可以了。
记住:else后面是不可以跟条件的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-16 12:19:03 | 显示全部楼层
只有elif可以跟。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-16 12:24:08 | 显示全部楼层
这样可实现不了你想要的功能啊,这样算闰年?这样算秒数?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-16 12:24:25 | 显示全部楼层
小错误太多,拼写和计算都有错
代码调整如下:
#计算一年有多少秒
temp =int(input('请输入你想计算的年数: '))

if temp %4 ==0:
    even = 366*24*60*60
    print(f'{temp}年是闰年,计算的闰年秒数:{even}')

if temp %4 != 0:
    even = 365*24*60*60
    print(f'{temp}年是平年,计算的平年秒数{even}')
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-16 12:38:05 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2020-2-16 12:47 编辑

        判断整除必须用取余操作%
  1. year_count = int(input('请输入你想计算的年数:'))
  2. if (year_count % 4 == 0 and year_count % 100 != 0) or year_count % 400 == 0:
  3.     print("计算的闰年秒数: ", 3600 * 24 * 366)
  4. else:
  5.     print("计算的平年秒数: ", 3600 * 24 * 365)
复制代码

        写 Python 代码最关键的要点是简洁!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-16 12:44:40 | 显示全部楼层
else 后面不能加条件,而 elif 可以。

而且在 Python 中除法得到的结果总是浮点数,所以用 type() 判断是没用的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-16 14:09:08 | 显示全部楼层
if 条件1:
   语句块1
elif 条件2:
   语句块2
.....
elif 条件n-1:
    语句块n-1
else:
    语句块n

else后面没有条件语句
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-16 16:04:46 | 显示全部楼层
一个账号 发表于 2020-2-16 12:09
else 后面不能加条件,改成 elif。代码帮你改了:

你这段代码是错误的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-18 21:47:42 | 显示全部楼层
谢谢大家
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-3 02:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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