有没有一种简单的方法可以制作类似的 1 线计算器?
Is there a simple way to make similar 1-Line Calculator?
作为初学者,我尝试使用 Python 来制作单行计算器...然后我来到了这里。
我将用户输入转换为列表,然后使用列表元素来获取结果。
例如,如果乘法,我将符号前的元素组合起来,然后将符号后的元素组合起来 them.Then 将它们相乘。
question = list(input("Enter Your Question: "))
def convert(list):
s = [str(i) for i in list]
combined = int("".join(s))
list = combined
return(combined)
multiply = "*"
add = "+"
substract = "-"
divide = "/"
if multiply in question:
for multiply in question:
position1 = question.index("*")
before_num = question[0: int(position1)]
aft = len(question)
after_num = question[int(position1) + 1: int(aft)]
num_before = convert(before_num)
num_after = convert(after_num)
print(int(num_before) * int(num_after))
break
elif add in question:
for add in question:
position1 = question.index("+")
before_num = question[0: int(position1)]
aft = len(question)
after_num = question[int(position1) + 1: int(aft)]
num_before = convert(before_num)
num_after = convert(after_num)
print(int(num_before) + int(num_after))
break
elif substract in question:
for substract in question:
position1 = question.index("-")
before_num = question[0: int(position1)]
aft = len(question)
after_num = question[int(position1) + 1: int(aft)]
num_before = convert(before_num)
num_after = convert(after_num)
print(int(num_before) - int(num_after))
break
elif divide in question:
for divide in question:
position1 = question.index("/")
before_num = question[0: int(position1)]
aft = len(question)
after_num = question[int(position1) + 1: int(aft)]
num_before = convert(before_num)
num_after = convert(after_num)
print(int(num_before) / int(num_after))
break
else:
print("Check Your Question Again")
end_program_ans = input("Press Enter to continue")
这很完美,但有没有更简单的方法。
read_data = input("Enter Your Question: ")
if "*" in read_data:
data1,data2 = read_data.split("*")
print(float(data1)*float(data2))
elif "+" in read_data:
data1,data2 = read_data.split("+")
print(float(data1)+float(data2))
elif "-" in read_data:
data1,data2 = read_data.split("-")
print(float(data1)-float(data2))
elif "/" in read_data:
data1,data2 = read_data.split("/")
print(float(data1)/float(data2))
else:
print("Please Enter Proper data")
作为初学者,我尝试使用 Python 来制作单行计算器...然后我来到了这里。 我将用户输入转换为列表,然后使用列表元素来获取结果。 例如,如果乘法,我将符号前的元素组合起来,然后将符号后的元素组合起来 them.Then 将它们相乘。
question = list(input("Enter Your Question: "))
def convert(list):
s = [str(i) for i in list]
combined = int("".join(s))
list = combined
return(combined)
multiply = "*"
add = "+"
substract = "-"
divide = "/"
if multiply in question:
for multiply in question:
position1 = question.index("*")
before_num = question[0: int(position1)]
aft = len(question)
after_num = question[int(position1) + 1: int(aft)]
num_before = convert(before_num)
num_after = convert(after_num)
print(int(num_before) * int(num_after))
break
elif add in question:
for add in question:
position1 = question.index("+")
before_num = question[0: int(position1)]
aft = len(question)
after_num = question[int(position1) + 1: int(aft)]
num_before = convert(before_num)
num_after = convert(after_num)
print(int(num_before) + int(num_after))
break
elif substract in question:
for substract in question:
position1 = question.index("-")
before_num = question[0: int(position1)]
aft = len(question)
after_num = question[int(position1) + 1: int(aft)]
num_before = convert(before_num)
num_after = convert(after_num)
print(int(num_before) - int(num_after))
break
elif divide in question:
for divide in question:
position1 = question.index("/")
before_num = question[0: int(position1)]
aft = len(question)
after_num = question[int(position1) + 1: int(aft)]
num_before = convert(before_num)
num_after = convert(after_num)
print(int(num_before) / int(num_after))
break
else:
print("Check Your Question Again")
end_program_ans = input("Press Enter to continue")
这很完美,但有没有更简单的方法。
read_data = input("Enter Your Question: ")
if "*" in read_data:
data1,data2 = read_data.split("*")
print(float(data1)*float(data2))
elif "+" in read_data:
data1,data2 = read_data.split("+")
print(float(data1)+float(data2))
elif "-" in read_data:
data1,data2 = read_data.split("-")
print(float(data1)-float(data2))
elif "/" in read_data:
data1,data2 = read_data.split("/")
print(float(data1)/float(data2))
else:
print("Please Enter Proper data")