(python)输入一个没有答案的算术式子,用计算机求出输出它的结果。

题意:输入一个没有答案的算术式子,用计算机求出输出它的结果。
输入:一个字符串形如“a#b=”(#代表运算符号)。注意:输入的字符串中a,b代表的数
都为自然数。而且a,b的范围都是从0到99
输出:字符串对应的算式的答案。答案需保留两位有效数字。若无答案则输出“error”

str1=input('请你输入一个算术式子(形如a#b=):')
list1=['+','-','*','/']
b=''
for i in list1:#把列表的元素一个一个的进行循环
    if i in str1:#如果元素i在str1中则执行下列代码
        b=i
    else:pass
print(b)
z=str1.rfind(b)#查找运算符号在式子中的位置
#提取式子中的数字
x=int(str1[0:z])
y=int(str1[(z+1):-1])
#下面进行判断
if b=='+':
    print('%d+%d=%f' % (x,y,x+y))
elif b=='-':
    print('%d-%d=%f' % (x, y,x-y))
elif b == '*':
    print('%d*%d=%f' % (x, y, x * y))
else:
    if y==0:
        print('error')
    else:
        print('%d/%d=%f' % (x, y, x /y))
### 编写一个简单的程序以从键盘输入两个数和运算符并输出计算结果 以下是一个完整的 Python 程序示例,用于实现用户需的功能。该程序允许用户从键盘输入两个数字以及一个运算符,并根据所选的运算符输出相应的计算结果。 #### 程序逻辑描述 1. 接收用户输入的第一个数值、运算符以及第二个数值。 2. 根据输入的运算符执行对应的操作(加、减、乘、除)。 3. 对于除法操作,特别检查分母是否为零,如果是,则输出错误信息。 4. 如果用户提供了一个不在范围内的运算符,则提示“Invalid operation!”。 #### 完整源代码示例 ```python def simple_calculator(): try: # 提示用户输入一个数字 num1 = float(input("请输入一个数字: ")) # 提示用户输入运算符 operator = input("请输入运算符 (+, -, *, /): ") # 提示用户输入第二个数字 num2 = float(input("请输入第二个数字: ")) if operator == "+": result = num1 + num2 elif operator == "-": result = num1 - num2 elif operator == "*": result = num1 * num2 elif operator == "/": if num2 != 0: result = num1 / num2 else: print("Wrong! Division by zero!") return else: print("Invalid operation!") return print(f"{num1} {operator} {num2} = {result}") except ValueError: print("输入有误,请确保输入的是有效数字!") simple_calculator() ``` #### 功能说明 1. **输入验证**: 使用 `try-except` 块捕获可能因非数字输入引发的异常[^1]。 2. **基本运算**: - 加法 (`+`) 和减法 (`-`) 的处理方式直接使用标准算术运算符。 - 乘法 (`*`) 同样采用常规方法。 - 除法 (`/`) 特别加入了对分母为零的情况的检测机制[^2]。 3. **非法运算符处理**: 当用户输入不属于 `{'+', '-', '*', '/'}` 的字符时,程序将输出 “Invalid operation!” 并终止当前流程[^3]。 4. **结果显示**: 计算完成后,将以格式化字符串的方式展示原始表达式及其结果。 --- #### 示例运行结果 ##### 正常情况下的加法运算: ``` 请输入一个数字: 10 请输入运算符 (+, -, *, /): + 请输入第二个数字: 5 10.0 + 5.0 = 15.0 ``` ##### 处理除法中的零分母错误: ``` 请输入一个数字: 8 请输入运算符 (+, -, *, /): / 请输入第二个数字: 0 Wrong! Division by zero! ``` ##### 非法运算符的例子: ``` 请输入一个数字: 7 请输入运算符 (+, -, *, /): ^ 请输入第二个数字: 3 Invalid operation! ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值