错误:float对象不是callab

2024-09-28 22:34:04 发布

您现在位置:Python中文网/ 问答频道 /正文

while True:
    print("ʘʘʘʘʘʘʘʘʘʘʘʘʘʘʘʘ")
    print("ʘUnit Converterʘ")
    print("ʘʘʘʘʘʘʘʘʘʘʘʘʘʘʘʘ\n")
    print("This program is used to convert units for height and weight.")

    measurement = input("Would you like to convert height or weight?; ")

    if measurement == ("height"or"Height"or"h"or"H"):
        units = input("What units do you want to convert from?(metres/inches); ")

        if units[0] == ("m"):
            numberm = float(input("Please enter your height in metres; "))
            inchfm = (numberm * 39.37)
            inchfm = float(inchfm)
            print = (inchfm)

我怎样才能让它工作?如有任何答复,我们将不胜感激。你知道吗


Tags: ortoyouconvertinputiffloatmeasurement
2条回答

这里有几个问题:

  1. measurement的比较无法正常工作:

    if measurement == ("height"or"Height"or"h"or"H"):
    

    这将首先计算("height"or"Height"or"h"or"H"),其计算结果为"height"。所以它相当于:

    if measurement == "height":
    

    要实现预期目标,您需要使用:

    if measurement == "height" or measurement == "Height" or measurement == "h" or measurement == "H":
    

    更简洁的方法是:

    if measurement in ("height", "Height", "h", "H"):
    
  2. print语句只是对名为print的变量的赋值:

    print = (inchfm)
    

    更改为:

    print(inchfm)
    

程序应该做什么?在你的问题中包括这一点。你知道吗

不管怎样。。。试试这个。。。我纠正了一些问题:

while True:
        print("ʘʘʘʘʘʘʘʘʘʘʘʘʘʘʘʘ")
        print("ʘUnit Converterʘ")
        print("ʘʘʘʘʘʘʘʘʘʘʘʘʘʘʘʘ\n")
        print("This program is used to convert units for height and weight.")

        measurement = input("Would you like to convert height or weight?; ")

        if measurement == "height" or measurement == "Height" or measurement == "h" or measurement == "H":
            units = input("What units do you want to convert from?(metres/inches); ")

            if units[0] == ("m"):
                numberm = float(input("Please enter your height in metres; "))
                inchfm = (numberm * 39.37)
                inchfm = float(inchfm)
                print inchfm

相关问题 更多 >