youtube上那个家伙在jupyter笔记本上做的python代码不';我在visual studio中不工作

youtube上那个家伙在jupyter笔记本上做的python代码不';我在visual studio中不工作,python,Python,我刚开始用youtube视频学习python,所以我写的代码和视频上的那个家伙完全一样,它对他有用,但对我不起作用:(我用的是Visual Studio,那个家伙用的是Jupyter笔记本,除了代码是一样的以外 name1 = "Arnošt" height1 = 1.8 weight1 = 80 name2 = "Adolf" height2 = 1.7 weight2 = 70 name3 = "Gertrůda" height3 = "1.8" weight3 = 90 def bm

我刚开始用youtube视频学习python,所以我写的代码和视频上的那个家伙完全一样,它对他有用,但对我不起作用:(我用的是Visual Studio,那个家伙用的是Jupyter笔记本,除了代码是一样的以外

name1 = "Arnošt"
height1 = 1.8
weight1 = 80

name2 = "Adolf"
height2 = 1.7
weight2 = 70

name3 = "Gertrůda"
height3 = "1.8"
weight3 = 90

def bmi_calc(name, height, weight):
 #apparently it has problem with this line :(
    bmi = weight / (height ** 2)
    print("bmi:")
    print(bmi)
    if bmi < 25:
        return name + " is not overweight"
    else:
        return name + " is overweight"

result1 = bmi_calc(name1, height1, weight1)
result2 = bmi_calc(name2, height2, weight2)
result3 = bmi_calc(name3, height3, weight3)

print(result1)
print(result2)
print(result3)
name1=“Arnošt”
高度1=1.8
权重1=80
name2=“阿道夫”
高度2=1.7
重量2=70
name3=“Gertrůda”
高度3=“1.8”
权重3=90
def bmi_计算(姓名、身高、体重):
#显然,这条线路有问题:(
体重指数=体重/(身高**2)
打印(“bmi:)
打印(bmi)
如果体重指数<25:
返回名称+“未超重”
其他:
返回名称+“超重”
结果1=体重指数计算(姓名1,身高1,体重1)
结果2=体重指数计算(姓名2,身高2,体重2)
结果3=体重指数计算(姓名3,身高3,体重3)
打印(结果1)
打印(结果2)
打印(结果3)

您已经为
高度3
变量使用了字符串值

您的错误
height3=“1.8”

更正代码:

name1 = "Arnošt"
height1 = 1.8
weight1 = 80

name2 = "Adolf"
height2 = 1.7
weight2 = 70

name3 = "Gertrůda"
height3 = 1.8
weight3 = 90

def bmi_calc(name, height, weight):
 #apparently it has problem with this line :(
    bmi = weight / (height ** 2)
    print("bmi:")
    print(bmi)
    if bmi < 25:
        return name + " is not overweight"
    else:
        return name + " is overweight"

result1 = bmi_calc(name1, height1, weight1)
result2 = bmi_calc(name2, height2, weight2)
result3 = bmi_calc(name3, height3, weight3)

print(result1)
print(result2)
print(result3)

name1=“Arnošt”
高度1=1.8
权重1=80
name2=“阿道夫”
高度2=1.7
重量2=70
name3=“Gertrůda”
高度3=1.8
权重3=90
def bmi_计算(姓名、身高、体重):
#显然,这条线路有问题:(
体重指数=体重/(身高**2)
打印(“bmi:)
打印(bmi)
如果体重指数<25:
返回名称+“未超重”
其他:
返回名称+“超重”
结果1=体重指数计算(姓名1,身高1,体重1)
结果2=体重指数计算(姓名2,身高2,体重2)
结果3=体重指数计算(姓名3,身高3,体重3)
打印(结果1)
打印(结果2)
打印(结果3)

height3
在您的例子中,它是一个字符串,而它应该是一个浮点。因此,在执行
height**2
时,它会引发一个错误,因为无法将字符串提升到2的幂。此外,您正试图用一个字符串(
weight3/height3
)除以浮点,这是错误的。正确的代码应该是

name1 = "Arnošt"
height1 = 1.8
weight1 = 80

name2 = "Adolf"
height2 = 1.7
weight2 = 70

name3 = "Gertrůda"
height3 = 1.8
weight3 = 90

def bmi_calc(name, height, weight):
 #apparently it has problem with this line :(
    bmi = weight / (height ** 2)
    print("bmi:")
    print(bmi)
    if bmi < 25:
        return name + " is not overweight"
    else:
        return name + " is overweight"

result1 = bmi_calc(name1, height1, weight1)
result2 = bmi_calc(name2, height2, weight2)
result3 = bmi_calc(name3, height3, weight3)

print(result1)
print(result2)
print(result3)
name1=“Arnošt”
高度1=1.8
权重1=80
name2=“阿道夫”
高度2=1.7
重量2=70
name3=“Gertrůda”
高度3=1.8
权重3=90
def bmi_计算(姓名、身高、体重):
#显然,这条线路有问题:(
体重指数=体重/(身高**2)
打印(“bmi:)
打印(bmi)
如果体重指数<25:
返回名称+“未超重”
其他:
返回名称+“超重”
结果1=体重指数计算(姓名1,身高1,体重1)
结果2=体重指数计算(姓名2,身高2,体重2)
结果3=体重指数计算(姓名3,身高3,体重3)
打印(结果1)
打印(结果2)
打印(结果3)

您收到了什么错误消息?语句
height3=“1.8”
与其他高度指定不一致。它应该是:
height3=1.8
。我猜他收到了
TypeError
,因为height3在您的情况下是一个字符串,但您希望它是一个数字(
height3=1.8
)。