18304041996 发表于 2020-8-2 20:02:06

求助求助 [课后作业] 第015讲:了不起的分支和循环(II) 求助求助

alcohol = int(input("请录入血液酒精含量(毫克):"))

if alcohol < 20:
    print("不构成饮酒行为!")
elif 20 <= alcohol < 80:
    print("已构成酒驾行为!")
elif alcohol >= 80:
    print("已构成醉驾行为!")

print("小甲鱼温馨提示:开酒不喝车,喝车不开酒!")


这个作业 我自己做出来的和小甲鱼的一样 但是 如果输入80.1-80.9int向下取整应该是80 ,大于等于80的话应该是醉驾但结果却是报错 这是为什么呢

Twilight6 发表于 2020-8-2 20:02:49



int 不能转化小数哈,否则就会报错,因为里面有 . 这个字符,而用 float 即可将字符串转为 浮点型


alcohol = float(input("请录入血液酒精含量(毫克):"))

if alcohol < 20:
    print("不构成饮酒行为!")
elif 20 <= alcohol < 80:
    print("已构成酒驾行为!")
elif alcohol >= 80:
    print("已构成醉驾行为!")

print("小甲鱼温馨提示:开酒不喝车,喝车不开酒!")

zltzlt 发表于 2020-8-2 20:03:21

int() 函数只能将浮点数转化为整数或将整数字符串转化为整数,不能将浮点数字符串转化为整数。

照你的意思代码该这么改:

alcohol = float(input("请录入血液酒精含量(毫克):"))    # 用 float() 函数将字符串转化为浮点数

if alcohol < 20:
    print("不构成饮酒行为!")
elif 20 <= alcohol < 80:
    print("已构成酒驾行为!")
elif alcohol >= 80:
    print("已构成醉驾行为!")

print("小甲鱼温馨提示:开酒不喝车,喝车不开酒!")

liuzhengyuan 发表于 2020-8-2 20:40:22

喝车不开酒?

lucky_muyi 发表于 2020-8-2 21:09:31

int不能直接将“浮点型字符串”转化为整数,如果你实在需要将驶入浮点数圆整的话应该int(float(input("请录入血液酒精含量(毫克):")))

18304041996 发表于 2020-8-3 16:27:25

谢谢

18304041996 发表于 2020-8-3 16:28:18

Twilight6 发表于 2020-8-2 20:02
int 不能转化小数哈,否则就会报错,因为里面有 . 这个字符,而用 float 即可将字符串转为 浮点型


...

谢谢
页: [1]
查看完整版本: 求助求助 [课后作业] 第015讲:了不起的分支和循环(II) 求助求助