我需要弄清楚如何转换用户输入,以制作一个只有 1 个浮点的简单区分大小写的计算器

问题描述 投票:0回答:1

我需要的是,我做得对吗?如果没有的话去哪里看这个来解决这个问题。

CS50 Python 数学解释器问题,通过转换用户输入来制作一个简单的区分大小写的计算器。 它区分大小写,因为我想使用 .split(" ") 单独存储输入,以便稍后在代码中使用它们。

探针中建议使用 'x, y, z = expression.split(" ")' 让用户输入表达式

  • x 和 z 是整数
  • y 是 +、-、* 或 / 应该有一个浮点数 00.0 例如,如果用户输入 1 + 1,您的程序应该输出 2.0。假设,如果 y 为 /,则 z 将不为 0。

我第一次尝试这个,但我什至不确定我是否使用 .format() 做正确的事情

simp_arithmetic = input("Expression: ")
x, y, z = simp_arithmetic.split(" ")

if '+' in simp_arithmetic:
    print(simp_arithmetic.format(x + z))

elif '-' in simp_arithmetic:
    print(simp_arithmetic.format(x - z))

elif '*' in simp_arithmetic:
    print(simp_arithmetic.format(x * z))

elif '/' in simp_arithmetic:
    if z == '0':
        print("z can't be 0")
    else:
        print(simp_arithmetic.format(x / z))
else:
    print(" ")

在此之后,我改变了格式()

print(simp_arithmetic.format(int(x) + int(z))),
或者
print(simp_arithmetic.format(int:x + int:z))

我期待像 1 + 1 = 2.0 或类似的结果,但我的程序仅返回给定的值。

python cs50
1个回答
0
投票

因为 input() 函数使您的 x, y, z 字符串类型,您应该将 x, z 转换为浮点数并熟悉 f"" 字符串,以使您的打印更易于阅读

© www.soinside.com 2019 - 2024. All rights reserved.