鱼C论坛

 找回密码
 立即注册
查看: 1514|回复: 19

求助!!!

[复制链接]
发表于 2022-3-25 10:11:15 | 显示全部楼层 |阅读模式

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

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

x
ht = input('请输入身高:')
bw = input('请输入体重:')
ht = type(ht)
bw = int(bw)
bmi = int(bw / (ht *ht))
print(bmi)

划线部分一直报错, 已经崩溃。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-3-25 10:14:15 | 显示全部楼层
ht = input('请输入身高:')
bw = input('请输入体重:')
ht = int(ht)      # type 得到的结果是不能用来相乘的
bw = int(bw)
bmi = int(bw / (ht *ht))
print(bmi)

评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
python爱好者. + 5 + 5

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-25 10:21:31 | 显示全部楼层

                               
登录/注册后可看大图
from decimal import Decimal
ht = input('请输入身高:')
bw = input('请输入体重:')
ht = int(ht)
bw = int(bw)
bmi = Decimal(bw/(ht*ht))
print(bmi)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-25 10:24:03 | 显示全部楼层

如果是感兴趣学Python可以,但是是想找工作的话建议学Java。(工作是Java,兴趣是C#)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-25 10:26:03 | 显示全部楼层

老哥,你这个结果应该是为0的,要是想不为0的话,得用浮点数来表示
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-25 10:27:26 From FishC Mobile | 显示全部楼层
height = float(input('请输入身高(米):'))
weight = float(input('请输入体重(公斤):'))
bmi = weight / (height * height)
print(f"{bmi:.2f}")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-25 10:30:50 | 显示全部楼层


                               
登录/注册后可看大图

不想要太精确,可以不用decimal这个,直接把bmi = Decimal(bw/(ht*ht)改成 bmi = bw/(ht*ht)这个即可
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-25 10:39:14 | 显示全部楼层
wuliangtdi 发表于 2022-3-25 10:24
如果是感兴趣学Python可以,但是是想找工作的话建议学Java。(工作是Java,兴趣是C#)

好的!谢谢!应该是我的思路有问题。。。
我发一下原题你给看看吧 我前段编辑的是不是有问题。

练习题:小明身高1.75,体重80.5kg。请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:

低于18.5:过轻
18.5-25:正常
25-28:过重
28-32:肥胖
高于32:严重肥胖
用if-elif判断并打印结果:

# -*- coding: utf-8 -*-

height = 1.75
weight = 80.5
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-25 10:39:52 | 显示全部楼层

这样也试过 还是会报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-25 10:45:49 | 显示全部楼层

试了下没问题,谢谢!
方便解释一下吗?小白不太懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-25 10:56:19 | 显示全部楼层
本帖最后由 wuliangtdi 于 2022-3-25 10:58 编辑
空心笔记 发表于 2022-3-25 10:39
好的!谢谢!应该是我的思路有问题。。。
我发一下原题你给看看吧 我前段编辑的是不是有问题。



                               
登录/注册后可看大图
ht = input('请输入身高(m):')
bw = input('请输入体重(kg):')
ht = float(ht)
bw = float(bw)
bmi = bw/(ht*ht)
print(f"bmi:{bmi}")
if bmi <= 18.5:
    print("过轻")
elif 18.5 < bmi <= 25: 
    print("正常")
elif 25 < bmi <= 28:
    print("过重")
elif 28 < bmi <= 32:
    print("肥胖")
elif bmi > 32:
    print("严重肥胖")
肯定有更简洁的写法的,先给你个参考
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-25 11:06:57 From FishC Mobile | 显示全部楼层
空心笔记 发表于 2022-3-25 10:45
试了下没问题,谢谢!
方便解释一下吗?小白不太懂

height = float(input('请输入身高(米):')) # 这里是直接将输入值化为浮点类型
weight = float(input('请输入体重(公斤):')) # 方法如上
bmi = weight / (height * height) # bmi 公式
print(f"{bmi:.2f}") # 这是字符串格式,自定义输出格式,想说小数点太多,不好看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-25 11:15:23 From FishC Mobile | 显示全部楼层
本帖最后由 傻眼貓咪 于 2022-3-25 11:18 编辑

额外知识:
其实还有一点,很多初学者都没有真正了解 if ... else ... 意义(我在之前已经说明太多次了)。
先想想为什么有 if 然后又有 else 呢?当然是如果 if 不成立,就执行 else,这谁都知道,但是你看看以下代码例子:

if x < 10:
    xxxx
else if 10 <= x < 20:
    xxxx
else if 20 <= x < 30:
    xxxx

看似没有问题对吗?再看看下面效果相同,但写法些许不同的代码:

if x < 10:
    xxxx
else if x < 20:
    xxxx
else if x < 30:
    xxxx

看出差异吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-25 11:30:07 | 显示全部楼层
傻眼貓咪 发表于 2022-3-25 11:15
额外知识:
其实还有一点,很多初学者都没有真正了解 if ... else ... 意义(我在之前已经说明太多次了) ...

谢谢!解释的很明白!以后会多思考
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-25 11:32:32 From FishC Mobile | 显示全部楼层
空心笔记 发表于 2022-3-25 11:30
谢谢!解释的很明白!以后会多思考

共同学习。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-25 11:33:04 | 显示全部楼层
wuliangtdi 发表于 2022-3-25 10:24
如果是感兴趣学Python可以,但是是想找工作的话建议学Java。(工作是Java,兴趣是C#)

还是学c++的好,java难,如果真的是想找工作的话,web必须会,就是做后台也要看得懂web的意义
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-25 11:39:36 | 显示全部楼层
空心笔记 发表于 2022-3-25 10:39
这样也试过 还是会报错


因为 int() 只能对整数字符串进行转换,

你希望输入小数不报错的话用 float 或 eval
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-25 11:40:00 | 显示全部楼层
C丁洞杀O 发表于 2022-3-25 11:33
还是学c++的好,java难,如果真的是想找工作的话,web必须会,就是做后台也要看得懂web的意义

c++难啊,市面上有几个敢说自己精通c++的。Java人多,工作也多,学的东西也多,一个深度,一个广度(也要一定的深度)。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-25 11:42:41 | 显示全部楼层
wuliangtdi 发表于 2022-3-25 11:40
c++难啊,市面上有几个敢说自己精通c++的。Java人多,工作也多,学的东西也多,一个深度,一个广度(也要 ...

C++是难了点,但你也不用全会啊,比竟大家都不学,你学,竞争压力会小,而且,基本上C++都是做底层运算的,java做后台,所以很多时候C++比java吃香。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-25 14:25:41 | 显示全部楼层
wuliangtdi 发表于 2022-3-25 10:24
如果是感兴趣学Python可以,但是是想找工作的话建议学Java。(工作是Java,兴趣是C#)

支持,我好想看java的问题,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-11 23:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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