Discuss / Python / 求助啊!

求助啊!

Topic source

NaMO100

#1 Created at ... [Delete] [Delete and Lock User]

s = input('输入你的身高:')

height = int(s)

z = input('输入你的体重:')

weight = int(z)

bmi = weight/(height**2)

if bmi >32:

    print('超重')

elif bmi >28:

    print('过重')

elif bmi >25:

    print('正常')

elif bmi >18.5:

    print('过轻')

为什么会出现

Traceback (most recent call last):

  File "2.py", line 2, in <module>

    height = int(s)

ValueError: invalid literal for int() with base 10: '1.90'

翻了好几遍前面的课,感觉没错啊,是int函数有问题吗?

s = float(input('输入你的身高:'))

z = float(input('输入你的体重:'))

bmi = z/(s**2)

if bmi >32:

    print('超重')

elif bmi >28:

    print('过重')

elif bmi >25:

    print('正常')

elif bmi >18.5:

    print('过轻')

s = input('输入你的身高:')

height = int(s)

z = input('输入你的体重:')

weight = int(z)

是不是这边输入的时候,输入的不是整数啊?  int定义变量是整数

int()只能把字符串中的‘整数’变成整数型。

即 int('123')可以,int('1.23')不行

float('1.23')可以

int是整型,你得出来的是小数,浮点型

s = input('')

height = int(s)

input接受的信息是字符串类型  所以s是一个字符串类型

int()只能吧字符串的'123'这种的转化为整数,'12.3'这种带小数点的不行

可以改成

height = float(s)转化为浮点型


  • 1

Reply