Python基础教程——制作简单计算器(完整版,附源码)

在这里插入图片描述

一、设计思路

在设计计算器程序时,我们需要考虑以下几个方面:

1. 界面设计:计算器需要一个简单的用户界面,用户可以通过该界面输入数字和运算符。

2. 数据类型:我们需要定义一些变量和数据类型来存储用户输入的数字和运算符,以及计算结果。

3. 运算逻辑:计算器需要根据用户输入的运算符来进行相应的数学运算,并输出计算结果。

在本文中,我们将采用Python语言实现一个基本的计算器,该计算器具有以下功能:

1. 支持加、减、乘、除四种基本运算。

2. 支持小数的运算。

3. 支持多次连续计算。

二、界面设计

计算器的界面应该简洁明了,方便用户输入数字和运算符。我们可以使用Python的tkinter库来实现界面设计。

首先,我们需要导入tkinter库,并创建一个窗口对象:

 

import tkinter as tk

window = tk.Tk()  

window.title("Calculator")


然后,我们可以在窗口中添加一些组件,如文本框、按钮等:



# 添加文本框

text = tk.Entry(window, width=25, font=('Arial', 16))

text.pack(side='top', pady=10)

# 添加按钮  

btn_1 = tk.Button(window, text='1', width=5, height=2)

btn_1.pack(side='left')

btn_2 = tk.Button(window, text='2', width=5, height=2)

btn_2.pack(side='left')

# ...


这里我们只添加了数字按钮,其他运算符按钮的添加类似。

三、数据类型

在计算器中,我们需要定义一些变量和数据类型来存储用户输入的数字和运算符,以及计算结果。

首先,我们需要定义一个变量来存储用户输入的数字:



num = ''


然后,我们需要定义一个变量来存储用户选择的运算符:


operator = ''

最后,我们需要定义一个变量来存储计算结果:


result = 0.0

四、运算逻辑

在计算器中,我们需要根据用户输入的运算符来进行相应的数学运算,并输出计算结果。

我们可以使用Python中的if语句来实现不同运算符的处理:


if operator == '+':

    result += float(num)

elif operator == '-':

    result -= float(num)

elif operator == '\*':

    result \*= float(num)

elif operator == '/':

    result /= float(num)

这里我们使用了Python中的float()函数将字符串转换为浮点数类型,以便进行数学运算。

最后,我们需要将计算结果输出到文本框中:


text.delete(0, 'end')

text.insert('end', str(result))

完整代码如下:


import tkinter as tk

window = tk.Tk()  

window.title("Calculator")

# 添加文本框  

text = tk.Entry(window, width=25, font=('Arial', 16))

text.pack(side='top', pady=10)

# 添加数字按钮  

def add_num(num):

    global result

    global operator

    global num1

    if operator == '':

        num1 += str(num)

        text.insert('end', num)

    else:

        num2 += str(num)

        text.insert('end', num)

  

btn_1 = tk.Button(window, text='1', width=5, height=2, command=lambda:add\_num(1))

btn_1.pack(side='left')

btn_2 = tk.Button(window, text='2', width=5, height=2, command=lambda:add\_num(2))

btn_2.pack(side='left')

# ...

# 添加运算符按钮  

def add_operator(op):

    global result

    global operator

    global num1

    global num2

    global num

    if num1 == '':

        num1 = num

        operator = op

        num = ''

    else:

        num2 = num

        if operator == '+':

            result += float(num1) + float(num2)

        elif operator == '-':

            result += float(num1) - float(num2)

        elif operator == '\*':

            result += float(num1) * float(num2)

        elif operator == '/':

            result += float(num1) / float(num2)

        text.delete(0, 'end')

        text.insert('end', str(result))

        num1 = str(result)

        num2 = ''

        operator = op

        num = ''

  

btn_plus = tk.Button(window, text='+', width=5, height=2, command=lambda:add_operator('+'))

btn_plus.pack(side='left')

btn_minus = tk.Button(window, text='-', width=5, height=2, command=lambda:add_operator('-'))

btn_minus.pack(side='left')

btn_multiply = tk.Button(window, text='\*', width=5, height=2, command=lambda:add_operator('\*'))

btn_multiply.pack(side='left')

btn_divide = tk.Button(window, text='/', width=5, height=2, command=lambda:add_operator('/'))

btn_divide.pack(side='left')

# 添加清除按钮和等号按钮  

def clear():

    global result

    global operator

    global num1

    global num2

    global num

    result = 0.0

    operator = ''

    num1 = ''

    num2 = ''

    num = ''

    text.delete(0, 'end')

  

btn_clear = tk.Button(window, text='C', width=5, height=2, command=clear)

btn_clear.pack(side='left')

btn_equal = tk.Button(window, text='=', width=5, height=2, command=add_operator)

btn_equal.pack(side='left')

# 初始化变量  

result = 0.0

operator = ''

num1 = ''

num2 = ''

num = ''

window.mainloop()  

这里我们使用了全局变量来存储用户输入的数字和运算符,以及计算结果。我们还使用了lambda表达式来将数字和运算符与相应的按钮关联起来。

五、运行程序

保存上述代码为calculator.py文件,并在命令行中执行以下命令来运行程序:


python calculator.py

程序运行后,将会弹出一个计算器窗口,用户可以通过该窗口进行数字和运算符的输入,计算结果将会显示在文本框中。用户可以通过清除按钮清空计算器,也可以通过等号按钮进行连续计算。
建议计算机就做好啦!!!

最后这里免费分享给大家一份Python全台学习资料,包含视频、源码。课件,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。
编程资料、学习路线图、源代码、软件安装包等!【点击这里】领取!
Python所有方向的学习路线图,清楚各个方向要学什么东西
100多节Python课程视频,涵盖必备基础、爬虫和数据分析
100多个Python实战案例,学习不再是只会理论
华为出品独家Python漫画教程,手机也能学习
历年互联网企业Python面试真题,复习时非常方便

  • 25
    点赞
  • 175
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,我可以为您提供关于Python-Flask框架开发的图书管理系统的详细介绍和源码解析。这个系统是基于Flask框架的,可以帮助用户管理图书信息,包括添加、删除、修改和查询等功能。此外,系统还具有用户登录、注册、退出等功能,以确保数据的安全性和完整性。 系统的主要功能点如下: 1. 用户登录、注册、退出 2. 图书添加、删除、修改、查询 3. 图书分类管理 4. 用户权限管理 下面是系统的简要介绍: 1. 用户登录、注册、退出 用户需要先进行注册,注册成功后可以进行登录操作。登录成功后,用户可以进行图书管理操作。如果用户需要退出,可以点击退出按钮进行退出。 2. 图书添加、删除、修改、查询 用户可以在系统中添加图书信息,包括图书名称、作者、出版社、出版日期、价格等信息。用户还可以删除、修改和查询图书信息。查询支持按照图书名称、作者、出版社等条件进行查询。 3. 图书分类管理 用户可以对图书进行分类管理,包括新建分类、编辑分类和删除分类等操作。图书分类可以根据用户的需求进行自定义。 4. 用户权限管理 系统还具有用户权限管理功能。管理员可以对普通用户进行授权,授权后的用户可以进行添加、删除、修改和查询等操作。 下面是部分系统源码解析: 1. 登录操作 ``` @app.route('/login', methods=['GET', 'POST']) def login(): form = LoginForm() if form.validate_on_submit(): user = User.query.filter_by(username=form.username.data).first() if user is not None and user.verify_password(form.password.data): login_user(user, form.remember_me.data) return redirect(request.args.get('next') or url_for('index')) flash('Invalid username or password.') return render_template('login.html', form=form) ``` 2. 图书添加操作 ``` @app.route('/add_book', methods=['GET', 'POST']) @login_required def add_book(): form = BookForm() if form.validate_on_submit(): book = Book(name=form.name.data, author=form.author.data, publisher=form.publisher.data, publish_date=form.publish_date.data, price=form.price.data) db.session.add(book) db.session.commit() flash('The book has been added.') return redirect(url_for('index')) return render_template('add_book.html', form=form) ``` 以上仅是系统源码的部分解析,系统的其他功能点和源码解析可以参考完整的源码和文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值