收集用户输入,然后以格式化字符串的形式打印到屏幕上



我从用户那里收集了3个输入,两个数字ab,以及一个数学运算符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 = 2b = 5sign = '+',我必须使用这些输入打印到屏幕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))

最新更新