鱼C论坛

 找回密码
 立即注册
查看: 2487|回复: 4

[已解决]为什么在输入小数后会报错?int函数不是已经将值转为整数了么?

[复制链接]
发表于 2021-3-25 00:09:52 | 显示全部楼层 |阅读模式

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

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

x
number = '1'

while number != 'e':
    number = input("请输入您考试的分数:")
    if number == 'e':
        break
    else:
        number = int(number)
        if number < 60:
            print("D")
        elif 60 <= number < 80:
            print('C')
        elif 80 <= number < 90:
            print('B')
        elif number == 100:
            print('S')
        elif 90 <= number <100:
            print('A')
最佳答案
2021-3-25 00:14:28
假如字符串 s 是一个浮点数形式的字符串,比如 '-3.14',直接用 int 进行类型转换会报 ValueError 错,如下所示:
s = '-3.14'
num = int(s)
"""
ValueError: invalid literal for int() with base 10: '-3.14'
"""
如果想要把浮点数形式的字符串转换为整数,需要先使用 float 把字符串转换为浮点数,再对该浮点数使用 int,把浮点数截取为整数,如下所示:
s = '-3.14'
num = int(float(s))
print(f'num = {num}')
"""
num = -3
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-25 00:14:28 | 显示全部楼层    本楼为最佳答案   
假如字符串 s 是一个浮点数形式的字符串,比如 '-3.14',直接用 int 进行类型转换会报 ValueError 错,如下所示:
s = '-3.14'
num = int(s)
"""
ValueError: invalid literal for int() with base 10: '-3.14'
"""
如果想要把浮点数形式的字符串转换为整数,需要先使用 float 把字符串转换为浮点数,再对该浮点数使用 int,把浮点数截取为整数,如下所示:
s = '-3.14'
num = int(float(s))
print(f'num = {num}')
"""
num = -3
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2021-3-25 00:18:33 | 显示全部楼层
小伤口 发表于 2021-3-25 00:14
假如字符串 s 是一个浮点数形式的字符串,比如 '-3.14',直接用 int 进行类型转换会报 ValueError 错,如下 ...

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

使用道具 举报

发表于 2021-3-25 00:19:23 | 显示全部楼层

有帮助的话请设置最佳吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-25 00:21:03 | 显示全部楼层
小伤口 发表于 2021-3-25 00:19
有帮助的话请设置最佳吧

第一次发帖,才看到这个功能,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-16 07:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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