Python中简易计算机怎么编?

文章介绍了如何使用Python编写一个简单的命令行计算器,该计算器支持加、减、乘、除、乘方和开方操作。程序通过无限循环接收用户输入的数字和运算符,遇到特定退出条件(如输入q)则退出。在处理除法和开方时,特别检查了除零错误和负数开偶数次方的情况。
摘要由CSDN通过智能技术生成

大家看看Python怎么编简易计算器

不需要任何库

首先创建一个文件夹,里面创建一个main.py文件。

--main.py

print("The programme can count'+ - * / ^ root'.")
print("When you use'root',Exponent is before it,and power is next to it.")
print("Only 2 numbers.")

先输出几句用户使用的提醒:

“这个程序可以使用加减乘除,乘方和开方。”

“使用开方时先指数,再输幂。”

“计算机只能提供两个数的运算。”

再是一个无限循环

--main.py

while True:

然后再声明:如果要退出就输入‘q’

--main.py

    print("You can enter 'q' at any time when you quit.")

接着写数字输入,及如果输入‘q’时的处理:

先输入第一个数字,存进变量num1,当它为q时,直接退出循环,否则将它转为int整数类型,供后面进行运算。

再是输入num2,即运算符号(operation)为q时,也跳出循环。(因为num2输入时,程序自动将它设为str字符串类型,所以不用再转换类型)。

最后输入的第二个数字num3也与num1同理。

--main.py

    num1 = input("The first number: ")
    if num1 == 'q':
        break
    else:
        num1 = int(num1)
    num2 = input("The operation is: ")
    if num2 == 'q':
        break
    num3 = input("The second number is: ")
    if num3 == 'q':
        break
    else:
        num3 = int(num3)

 接着分别判断num2为‘+’,‘-’,‘*’,‘/’,‘^’,‘root’的情况

 --main.py

if num2 == '+':
        print(num1+num3)
    elif num2 == '-':
        print(num1-num3)
    elif num2 == '*':
        print(num1*num3)
    elif num2 == '/':
        if num3 != 0:
            print(num1/num3)
        else:
            print("Divided by zero!")
            continue
    elif num2 == '^':
        print(num1**num3)
    elif num2 == 'root':
        if num3 < 0 and num1 % 2 == 0:
            print("When exponent is even,power can't < 0!")
            continue
        else:
            print(num3**(1/num1))

 在处理除法或开方时,特别地用if语句判断除数为0和指数为偶数,幂为负数的情况。

最后,和大家说一句告别。注意代码不用缩进。 

--main.py

print("Bye!")

整个文件代码如下:

--Caculator/main.py

print("The programme can count'+ - * / ^ root'.")
print("When you use'root',Exponent is before it,and power is next to it.")
print("Only 2 num.")
while True:
    print("You can enter 'q' at any time when you quit.")
    num1 = input("The first number: ")
    if num1 == 'q':
        break
    else:
        num1 = int(num1)
    num2 = input("The operation is: ")
    if num2 == 'q':
        break
    num3 = input("The second number is: ")
    if num3 == 'q':
        break
    else:
        num3 = int(num3)
    if num2 == '+':
        print(num1+num3)
    elif num2 == '-':
        print(num1-num3)
    elif num2 == '*':
        print(num1*num3)
    elif num2 == '/':
        if num3 != 0:
            print(num1/num3)
        else:
            print("Divided by zero!")
            continue
    elif num2 == '^':
        print(num1**num3)
    elif num2 == 'root':
        if num3 < 0 and num1 % 2 == 0:
            print("When exponent is even,power can't < 0!")
            continue
        else:
            print(num3**(1/num1))
print("Bye!")

当然,运算除法和开方的代码也可以用try-except代码代替:

elif num2 == '/':
    try:
        print(num1/num3)
    except ZeroDivisionError:
        print("Divided by zero!")
        continue
elif num2 == 'root':
    try:
        print(num3**(1/num1))
    except ValueError:
        print("When the exponent is even,power can't < 0!")
        continue

有些更复杂的运算,代码可能更长,这里就不说了哈。

还有,最后要庆祝言和小姐姐10周年生日快乐!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值