gpt4 book ai didi

python 3 : Basic arithmetic operations

转载 作者:太空宇宙 更新时间:2023-11-04 01:24:28 28 4
gpt4 key购买 nike

我正在尝试编写一个程序来执行简单的算术运算。我想让程序提示用户输入两个数字,然后计算出五个结果:

  • 总和
  • 区别
  • 产品
  • 两个整数的商
  • 浮点除法。

现在,我记得在 Python 2 中,通常有用于字符串的 raw_input 和用于数字的输入。但是,我只是在学习 Python 3,默认情况下输入是一个字符串,对于数字,我必须指定我希望拥有的数字类型:即 int(input()) 或 float(输入())。

因此,例如,假设我想要准确的输出(使用输入 4 和 2.5):

What is the first number? 4
What is the second number? 2.5
The sum is 6.5
The difference is 1.5
The product is 8.0
The integer quotient is 2
The floating-point quotient is 1.6

我会在 Python 2 中输入这段代码:

x=input ("What is the first number? ")
y=input ("What is the second number? ")

print "The sum is", x+y
print "The difference is", x-y
print "The product is", x*y
print "The integer quotient is", int(x)/int(y)
print "The floating-point quotient is", float(x)/float(y)

但是,我无法在 Python 3 中完成它。这是我正在使用的(错误的)代码:

x = int(input("What is the first number? "))
y = int(input("What is the second number? "))

print("The sum is: ", x+y)
print("The difference is: ", x-y)
print("The product is: ", x*y)
print("The integer quotient is: ", x/y)
print("The floating-point quotient is: ", x/y)

显然,我收到一条错误消息,因为我的第二个输入 (y) 等于 4.5,这是一个 float 而不是我输入定义的 int。我没有费心将 float(x)/float(y) 用于浮点商,因为这也是矛盾的(因此是一个错误)。

我当然可以像这样使用 float 而不是 int:

x = float(input("What is the first number? "))
y = float(input("What is the second number? "))

但在这种情况下,我的乘积会得到 10.0(不是 10),我的整数商是 float (1.6 而不是 2)

我发现在 Python 3 中我不能要求输入的通用类型数字(无需指定它是 float 还是 int),这真的很令人沮丧。因此,我坚持使用这种简单的程序,非常感谢任何解决方案/解释。

最佳答案

您可以尝试将输入解析为 int,如果这不起作用,则将其视为 float:

def float_or_int(x):
try:
return int(x)
except ValueError:
return float(x)

x = float_or_int(input("What's x?"))
y = float_or_int(input("What's y?"))

要在 Python 3 中进行地板除法,您必须使用 // 运算符明确请求它:

print("The integer quotient is:", x//y)

请注意,这种“整数商”运算对于浮点输入没有实际意义。

关于 python 3 : Basic arithmetic operations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18937071/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com