python做一个计算器小程序要求当输入任意数字每输入一个数字相加当输入零时停止计算出合,输出答案?

python做一个计算器小程序要求当输入任意数字每输入一个数字相加当输入零时停止计算出合,输出答案?,第1张

好的,以下是一个简单的python计算器小程序,可以满足您的需求:

# 初没银始化总和为0

total = 0

while True:

# 获取用户输入

num = int(input("请输入数字(输入0结束计算):"))

# 如果输入的是0,则退出循环

if num == 0:

break

# 否则将输入的数字累加到总和中

total += num

# 输出计算结果

print("计算结果为:", total)

在这个程序中,我们首先初始化了一个变量total表示累加的总和,然后进入一个循环中,在循环中,我们使用input函数获滑慎取用信察敬户输入的数字,如果输入的数字是0,则使用break语句退出循环,否则将输入的数字累加到总和中。

当循环结束后,输出计算结果即可。

python入门教程清世孙如下:

准备材料:windows电脑、python

1、这里简单告用python软件编写的一个关于货物售价折扣方面的一个计算程序,首先打开python软件。

2、进入python后,会出现如图所示界面,按照图中箭头指示,先选择File选项,然后在下拉菜单中选择New file选项。

3、选择完毕后,会出现一个新的界面,如图箭头和红色框指示。

4、进入这个新的界面,在里面输入自己想编辑的程序,如图所示是编写的一个关于货物售价折扣方面的一个简单的计算程序。

5、程序输入完毕后,按照图中箭头和红色框指示,先选答链择Run选项,然后在下拉菜单中选择Run Module(注:除此方法外还可以点击键盘F5)。

6、此时会在原界面出现如图所示的字样,这是因为编写程序编辑好的,此时可以输入一个数字,然后回车,又会让输入一个折扣,输入完即可得出最后售价结果。

7、如图所示,这里输入的原返茄价是10,折扣是0.2,故此系统根据编写的程序计算除了打折后的价格为2。

这个代码实现的挺简单,并不是很复杂的科学计算器界面,你可以以此为基础,添加自己想要的东西:给你个截图:

代码是如下, 我就不给你添注释了啊:

#!/usr/bin/env python3.4

from Tkinter import *

import parser

 

root = Tk()

root.title('Calculator')

 

i = 0

 

def factorial():

    """Calculates the factorial of the number entered.""手租"

    whole_string = display.get()

    number = int(whole_string)

    fact = 1

    counter = number 

    try:

        while counter > 0:

            fact = fact*counter

            counter -= 1

        clear_all()

        display.insert(0, fact)

    except Exception:

        clear_all()

        display.insert(0, "Error")

 

 

def clear_all():

    """clears all the content in the Entry widget"""

    display.delete(0, END)

 

def get_variables(num):

    """Gets the user input for operands and puts it inside the entry widget"""

    global i

    display.insert(i, num)

    i += 1

 

def get_operation(operator):

    """Gets the operand the user wants to apply on the functions"""

    global i

    length = len(operator)

    display.insert(i, operator)

    i += length

 

def undo():

    """removes the last entered operator/variable from entry widget"""

    whole_string = display.get()

    if len(whole_string):        ## repeats until

        ## now just decrement the string by one index

        new_string = whole_string[:-1]

        print(new_string)

        clear_all()

        display.insert(0, new_string)

    else:

        clear_all() 

 孙粗       display.insert(0, "Error, press AC")

 

def calculate():

    """

    Evaluates the expression

    ref : http://stackoverflow.com/questions/594266/equation-parsing-in-python

    """

    whole_string = display.get()

    try:

        formulae = parser.expr(whole_string).compile()

        result = eval(formulae)

        clear_all()

        display.insert(0, result)

    except Exception:

        clear_all()

        display.insert(0, "Error!")

 

root.columnconfigure(0,pad=3)

root.columnconfigure(1,pad=3)

root.columnconfigure(2,pad=3)

root.columnconfigure(3,pad=3)

root.columnconfigure(4,pad=3)

 

root.rowconfigure(0,pad=3)

root.rowconfigure(1,pad=3)

root.rowconfigure(2,pad=3)

root.rowconfigure(3,pad=3)

 

display = Entry(root, font = ("Calibri", 13))

display.grid(row = 1, columnspan = 6    , sticky = W+E)

 

one = Button(root, text = "1", command = lambda : get_variables(1), font=("Calibri", 12))

one.grid(row = 2, column = 0)

two = Button(root, text = "2", 毕凯兆command = lambda : get_variables(2), font=("Calibri", 12))

two.grid(row = 2, column = 1)

three = Button(root, text = "3", command = lambda : get_variables(3), font=("Calibri", 12))

three.grid(row = 2, column = 2)

 

four = Button(root, text = "4", command = lambda : get_variables(4), font=("Calibri", 12))

four.grid(row = 3 , column = 0)

five = Button(root, text = "5", command = lambda : get_variables(5), font=("Calibri", 12))

five.grid(row = 3, column = 1)

six = Button(root, text = "6", command = lambda : get_variables(6), font=("Calibri", 12))

six.grid(row = 3, column = 2)

 

seven = Button(root, text = "7", command = lambda : get_variables(7), font=("Calibri", 12))

seven.grid(row = 4, column = 0)

eight = Button(root, text = "8", command = lambda : get_variables(8), font=("Calibri", 12))

eight.grid(row = 4, column = 1)

nine = Button(root , text = "9", command = lambda : get_variables(9), font=("Calibri", 12))

nine.grid(row = 4, column = 2)

 

cls = Button(root, text = "AC", command = clear_all, font=("Calibri", 12), foreground = "red")

cls.grid(row = 5, column = 0)

zero = Button(root, text = "0", command = lambda : get_variables(0), font=("Calibri", 12))

zero.grid(row = 5, column = 1)

result = Button(root, text = "=", command = calculate, font=("Calibri", 12), foreground = "red")

result.grid(row = 5, column = 2)

 

plus = Button(root, text = "+", command =  lambda : get_operation("+"), font=("Calibri", 12))

plus.grid(row = 2, column = 3)

minus = Button(root, text = "-", command =  lambda : get_operation("-"), font=("Calibri", 12))

minus.grid(row = 3, column = 3)

multiply = Button(root,text = "*", command =  lambda : get_operation("*"), font=("Calibri", 12))

multiply.grid(row = 4, column = 3)

divide = Button(root, text = "/", command = lambda :  get_operation("/"), font=("Calibri", 12))

divide.grid(row = 5, column = 3)

 

# adding new operations

pi = Button(root, text = "pi", command = lambda: get_operation("*3.14"), font =("Calibri", 12))

pi.grid(row = 2, column = 4)

modulo = Button(root, text = "%", command = lambda :  get_operation("%"), font=("Calibri", 12))

modulo.grid(row = 3, column = 4)

left_bracket = Button(root, text = "(", command = lambda: get_operation("("), font =("Calibri", 12))

left_bracket.grid(row = 4, column = 4)

exp = Button(root, text = "exp", command = lambda: get_operation("**"), font = ("Calibri", 10))

exp.grid(row = 5, column = 4)

 

## To be added :

# sin, cos, log, ln

undo_button = Button(root, text = "<-", command = undo, font =("Calibri", 12), foreground = "red")

undo_button.grid(row = 2, column = 5)

fact = Button(root, text = "x!", command = factorial, font=("Calibri", 12))

fact.grid(row = 3, column = 5)

right_bracket = Button(root, text = ")", command = lambda: get_operation(")"), font =("Calibri", 12))

right_bracket.grid(row = 4, column = 5)

square = Button(root, text = "^2", command = lambda: get_operation("**2"), font = ("Calibri", 10))

square.grid(row = 5, column = 5)

 

root.mainloop()


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12424622.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存