python - 关于我制作的小型转换器的IF语句问题

标签 python python-3.x if-statement

我正在制作一个程序,将您的体重从公斤转换为磅,反之亦然。它会提示您输入重量,询问重量是千克还是磅,然后得出结果。

代码如下:

weight = int(input("What is your weight? "))
unit = input ("(L)bs or (K)g? ")
unit = unit.upper
if unit == "L":
    converted = (weight * 0.45)
    print(converted)

else:
    converted = (weight // 0.45)
    print(converted)


如果我以公斤为单位表示转换器,转换器可以正常工作,但是当我以磅为单位表示磅单位时,它会以公斤为单位并以磅为单位给出答案。谁能告诉我问题是什么?

最佳答案

您应该在unit.upper的末尾添加“()”。

如果没有'()',则不会调用upper方法,而只会引用它。 unit.upper将返回('str对象的内置方法上限为0x00630240'),因此,当您设置unit = unit.upper时,实际上是将unit ='str对象的内置方法上限设为0x00630240' ,它激活了else语句。

weight = int(input("What is your weight? "))
unit = input ("(L)bs or (K)g? ")
unit = unit.upper()
if unit == "L":
    converted = (weight * 0.45)
    print(converted)

else:
    converted = (weight // 0.45)
    print(converted)

关于python - 关于我制作的小型转换器的IF语句问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61860901/

相关文章:

python - 确保如果两个语句之一失败,则两个语句的最终结果不会发生变化

python - APScheduler 开启更多线程

java - 用于 Android 应用程序开发的 Python 或 Java?

python - 在 python/pandas 中部分基于自身计算列

if-statement - Gitlab-CI:有条件的 allow_failure

python - PySimpleGUI 表元素。如何读取选定的行?

python-3.x - 需要使用 python3 和 boto3 为特定区域创建卷的快照

python - 当您要查找的特定值不在列表中时如何说

php - 如何避免 if/elseif 重复?

SQL根据两列中的条件过滤出结果