1106965760 发表于 2021-3-25 00:09:52

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

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

1106965760 发表于 2021-3-25 00:18:33

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

谢谢大佬,懂了

小伤口 发表于 2021-3-25 00:19:23

1106965760 发表于 2021-3-25 00:18
谢谢大佬,懂了

有帮助的话请设置最佳吧{:10_254:}

1106965760 发表于 2021-3-25 00:21:03

小伤口 发表于 2021-3-25 00:19
有帮助的话请设置最佳吧

第一次发帖,才看到这个功能,{:5_110:}
页: [1]
查看完整版本: 为什么在输入小数后会报错?int函数不是已经将值转为整数了么?