我从用户那里收集了3个输入,两个数字a
和b
,以及一个数学运算符sign
。我的代码如下:
a = int(input('Type the number: '))
b = int(input('Type the number: '))
sign = input('Type a sign as + etc : ')
print(a sign b)
如果输入是a = 2
、b = 5
、sign = '+'
,我必须使用这些输入打印到屏幕2 + 5
。
如何评估这些输入以输出7
?
您必须使用if
的序列,或者您可以使用在operator
内置中查找运算符的字典(其中包含作为可调用函数的标准运算符(:https://docs.python.org/3/library/operator.html
例如,
import operator
operators = {'<': operator.le, '+': operator.add, ...}
print(operators[sign](a, b))
虽然我真的不确定这个问题在问什么,
您可以使用加号连接字符串
a = int(input('Type the number: '))
b = int(input('Type the number: '))
sign = input('Type a sign as + etc : ')
print(str(a) + sign + str(b))
您也可以添加逗号在字符串之间放置空格。
a = int(input('Type the number: '))
b = int(input('Type the number: '))
sign = input('Type a sign as + etc : ')
print(str(a), sign, str(b))
或者使用f字符串
a = int(input('Type the number: '))
b = int(input('Type the number: '))
sign = input('Type a sign as + etc : ')
print(f"{str(a)} {sign} {str(b)}")
打印函数不能同时显示int和string。
这将完成
a = int(input('Type the number: '))
b = int(input('Type the number: '))
sign = input('Type a sign as + etc : ')
print(f'{a} {sign} {b}') # f string
f字符串是较新的格式化语法。
a = int(input('Type the number: '))
b = int(input('Type the number: '))
sign = input('Type a sign as + etc : ')
if sign == "+": print(a + b)
elif sign == "-": print(a - b)
elif sign == "/": print(a / b)
elif sign == "*": print(a * b)
else: print("I can't understand it :(")
您应该定义一个函数。我想它应该起作用。a = int(input("Type the number: ")) b = int(input("Type another number: ")) c = input("Please enter a sign as + etc: ")
def sign(x, y):
if c == "+":
return x + y
elif c == "-":
return x - y
elif c == "*":
return x * y
elif c == "/":
return x // y
print(sign(a, b))