鱼C论坛

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

书上用的IF,我想试试else,但是提示语法错误,这么写不行吗?

[复制链接]
发表于 2019-7-10 09:47:39 | 显示全部楼层 |阅读模式

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

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

x
height =float(input('请输入您的身高:'))
weight = float(input('请输入您的体重:'))
bim = weight/(height*weight)
print('您BIM指数为:' + str(bim))
if bim < 18.5:
        print("您的体重过轻")
        else:
                if  bim>=18.5 and  bim<24.9:
                        print('正常范围')
        else:
                if bim>=24.9 and  bim<29.9:
                        print('过重')
        else:
                if bim >= 29.9:
                        print('超重')
else:
        print("抱歉,输出有误")
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-7-10 09:56:17 | 显示全部楼层
不行,一个if仅能和一个else相配
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-10 10:08:11 | 显示全部楼层
冬雪雪冬 发表于 2019-7-10 09:56
不行,一个if仅能和一个else相配

height =float(input('请输入您的身高:'))
weight = float(input('请输入您的体重:'))
bim = weight/(height*height)
print('您BIM指数为:' + str(bim))
if bim < 18.5:
        print("您的体重过轻")
elif bim>=18.5 and  bim<24.9:
        print('正常范围')
elif bim>=24.9 and  bim<29.9:
        print('过重')
elif bim >= 29.9:
        print('超重')

刚刚用elif成功了,用if也是一样,if和elif运用有什么不同吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-10 10:09:01 | 显示全部楼层
一个if是可以和多个elif匹配
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-10 10:31:18 | 显示全部楼层
冬雪雪冬 发表于 2019-7-10 10:09
一个if是可以和多个elif匹配

import random
height = random.randint(1,3)
weight = random.randint(40,80)
height =float(input('请输入您的身高:'))
weight = float(input('请输入您的体重:'))
bim = weight/(height*height)
print('您BIM指数为:' + str(bim))
if bim < 18.5:
        print("您的体重过轻")
elif bim>=18.5 and  bim<24.9:
                        print('正常范围')
elif bim>=24.9 and  bim<29.9:
                        print('过重')
elif bim >= 29.9:
                        print('超重')
else:
        print("输入错误,重新输入")


谢谢,但是我现在想插入范围,为什么没用呢。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-10 10:40:13 | 显示全部楼层
缩进不对,改过的是可以的,但是不会print("输入错误,重新输入"),思考一下为什么?
  1. height =float(input('请输入您的身高:'))
  2. weight = float(input('请输入您的体重:'))
  3. bim = weight/(height*height)
  4. print('您BIM指数为:' + str(bim))
  5. if bim < 18.5:
  6.         print("您的体重过轻")
  7. elif bim>=18.5 and  bim<24.9:
  8.         print('正常范围')
  9. elif bim>=24.9 and  bim<29.9:
  10.         print('过重')
  11. elif bim >= 29.9:
  12.         print('超重')
  13. else:
  14.         print("输入错误,重新输入")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-10 11:07:56 | 显示全部楼层
冬雪雪冬 发表于 2019-7-10 10:40
缩进不对,改过的是可以的,但是不会print("输入错误,重新输入"),思考一下为什么?

条件用完了,把最后一个elif改为else吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-10 12:21:29 | 显示全部楼层
yisiyu520 发表于 2019-7-10 11:07
条件用完了,把最后一个elif改为else吗?

可以的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-11 09:42:35 | 显示全部楼层
if:
  ...
elif:
  ....
elif:
....
else:

这样的语法
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-16 19:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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