案例驱动式Python学习笔记【第一篇】便捷水果店
前言
后续的此系列博文用于记录案例式Python学习笔记记录,供本人和感兴趣的小伙伴一起学习!!人生苦短,我学Python!
驱动案例
便捷水果店:请为水果店开发一个收银的小程序,已知水果单价和购买重量,要求输出总价。(要求有交互界面)
每公斤水果的单价如下:
苹果 6.5 元 梨 5.5 元 香蕉 7.2 元
数字类型
表示数字或数值的数据类型称为数字类型。数字类型有整型(int)、浮点型(float)、复数类型(complex),还有一种比较特殊的整型——布尔类型(bool)
数字类型 | 示例 |
---|---|
整型 | 10 |
浮点型 | 10.0 |
复数型 | 3+2j |
布尔型 | Ture/False |
布尔类型
除布尔型以外其他数字类型与c语言类似,对于Python特有的布尔型来说,Python中的任何对象都可以转换为布尔类型,若要进行转换,符合以下条件的数据都会被转换为False:
- None;
- 任何为0的数字类型,如0、0.0、0j;
- 任何空序列,如’’’’、()、[];
- 任何空字典,如{};
- 用户定义的类实例,如类中定义了__bool__()或者__len__()。
除以上对象外,其它的对象都会被转换为True!!!
数据的表示——变量
Python程序运行的过程中随时可能产生一些临时数据,程序会将这些数据保存在内存单元中,并使用不同的标识符来标识各个内存单元。这些具有不同标识、存储临时数据的内存单元称为变量,标识内存单元的符则为变量名(亦称标识符),内存单元中存储的数据就是变量的值。
Python中定义变量的方式非常简单,只需要指定数据和变量名即可。即 变量名 = 数据
变量定义的要求
- 变量名由字母、数字和下划线组成,且不以数字开头。
- 变量名区分大小写。
- 变量名应通俗易懂,见名知意。
- 变量名若由两个以上单词组成,其中单词与单词之间使用下划线连接。
字符串
字符串的定义
字符串是一种用来表示文本的数据类型,它是由符号或者数值组成的一个连续序列。
Python支持使用单引号、双引号和三引号定义字符串,其中单引号和双引号通常用于定义单行字符串,三引号通常用于定义多行字符串。
'hello itcast' //使用单引号
"hello itcast" //使用双引号
定义字符串时单引号与双引号可以嵌套使用,需要注意的是,使用双引号表示的字符串中允许嵌套单引号,但不允许包含双引号,同样,使用单引号表示的字符串中不允许包含单引号.
字符串的操作
字符串的拼接
字符串的拼接可以直接使用“+”符号实现,示例代码如下。
str_one = "人生苦短,"
str_two = "我用Python。"
str_one + str_two
//输出:人生苦短,我用Python。
字符串重复
"happy!"*3
//输出为:'happy!happy!happy!‘
字符串是否存在
var="hello world""hello" in var
//输出为:True
字符串索引
var="hello world"
var.index('l')
//输出为:2
基本输入输出
程序要实现人机交互功能,需能够向显示设备输出有关信息及提示,同时也要能够接收从键盘输入的数据。
输入
input()函数用于接收一个标准输入数据,该函数返回一个字符串类型数据。
x = int(input())
print(x)
输出
print()函数用于向控制台中输出数据。
print("zheshiyifenbiji")
认识tkinter
图形用户界面(Graphical User Interface,简称GUI)是指采用图形方式显示的计算机操作系统用户界面。tkinter是Python默认的GUI,它简单易用、可移植性良好,常被应用于小型图形界面应用程序的快速开发。
导入tkinter模块
import tkinter
tkinter使用
根窗口对象 = Tk()
根窗口对象.mainloop()
//示例:
from tkinter import *
root = Tk()
root.mainloop()
tkinter核心组件
看这里
这个也太难了吧!!有点糊了,暂时放下了,后面在回来看,不然彻底乱了啊
案例代码
#-*- coding:utf-8-*-
import tkinter as tk
apple=6.5
pear=5.4
bana=7.2
top=tk.Tk()
top.title("便捷水果店")
label1=tk.Label(top,text="请输入苹果的重量:")
label2=tk.Label(top,text="请输入梨的重量:")
label3=tk.Label(top,text="请输入香蕉的重量:")
entry1=tk.Entry(top)
entry2=tk.Entry(top)
entry3=tk.Entry(top)
list=tk.Listbox(top)
label1.pack()
entry1.pack()
label2.pack()
entry2.pack()
label3.pack()
entry3.pack()
list.pack()def button_clicked():count1=float(entry1.get())count2=float(entry2.get())count3=float(entry3.get())text="名称 数量 价格"text1="苹果 "+str(count1)+"k "+str(apple*count1)text2="梨 "+str(count2)+"k "+str(pear*count2)text3="香蕉 "+str(count3)+"k "+str(bana*count3)text4="总价 "+str(apple*count1+pear*count2+bana*count3)list.insert(0,text)list.insert(1,text1)list.insert(2,text2)list.insert(3,text3)list.insert(4,text4)
btn=tk.Button(top,text="结算",command=button_clicked)
btn.pack()
top.mainloop()
总结
本次课主要补充介绍了 数字类型、数据的表示——变量、字符串、基本输入输出、Tkinter图形用户界面等。
第一次用博客写笔记,思路不是很清晰,望见谅!
案例驱动式Python学习笔记【第一篇】便捷水果店相关推荐
- 案例驱动式Python学习笔记【第六篇】电子宠物
驱动案例 设计多只电子宠物,它们具有名字,性别,能力,体重等属性,可以完成吃饭.运动.显示状态的动作. 类与对象 通过类(模板)可以生产多个具有相同属性和方法(行为)的对象,对象是类的实例化 clas ...
- 案例驱动式Python学习笔记【第三篇】居民身份证信息提取
驱动案例 居民身份证是每位居民的唯一身份标识,18位的居民身份证号的信息包含省.市.出生日期和性别等信息, 那么本节将介绍如何按需提取相应的信息.居民身份证是每位居民的唯一身份标识,18位的居民身份证 ...
- python通讯录运用的知识点_案例驱动式Python学习--通讯录存取
驱动案例 通讯录:要求打印出企业全部十名员工通讯录.(要求有文件相关操作) 内置函数 自定义函数 函数指被封装起来的.实现某种功能的一段代码.Python安装包.标准库中自带的函数统称为内置函数,用户 ...
- python 学习笔记第一篇---下载网页内所有图片
第一步:打开网址,进入开发者模式,选中 Network,选择 Img 然后刷新页面,静静等待页面加载 等待页面加载完成,你可以看到这边有很多图片的资源 随便点开一个图片选择 Headers 可以看到 ...
- python学习笔记第一篇:Python3使用wordcloud制作词云报错OSError: cannot open resource和制作出的词云图乱码问题
wordcloud制作词云时有关字体设置参数font_path = ""使用: 1.当使用电脑中不存在的字体时,运行程序会报错OSError: cannot open resour ...
- 《鸟哥的Linux私房菜》个人学习笔记-第一篇
<鸟哥的Linux私房菜>个人学习笔记-基础篇 这是一篇一个linux菜鸡自学的笔记 csdn上的各位大手子们好,本人实习生一枚最近想自己深入学习下linux,所以在社区里发博客,希望能记 ...
- bootloader学习笔记---第一篇以stm32为例
目录 一.bootloader的任务 二.bootloader开发的基础知识 段的概念 重定位的概念 散列文件的概念 异常向量(待补充) 三.最简单的bootloader程序 四.使用汇编跳转 五.备 ...
- 1、Python学习笔记第一课:python介绍
python学习第一课 python介绍: 1.python是一种解释性,面向对象语言. 2.特点: (1):可读性强: (2):简洁,生产效率高: (3):面向对象: (4):免费和开源: (5): ...
- Python的matplotlib库学习笔记第一篇
各位大佬,小松鼠有什么不对的地方,请大家赐教. matplotlib.pyplot是绘制各类可视化图形的命令字库,相当于Matplotlib库的快捷方式 导入:import matplotlib.py ...
最新文章
- python【数据结构与算法】程序设计:划分整数(DP)
- BZOJ 1920 Luogu P4217 [CTSC2010]产品销售 (模拟费用流、线段树)
- 某虚拟化项目总结:一条光纤引发的故障
- 清华大学 2011 春季学期 lt;现代软件工程gt; 课程表
- SPH算法(求最小代价树)
- 自动化部署之git merge和git rebase的区别
- zigbee协议栈工作流程 From zigbee菜鸟笔记(十 一)
- eigen向量计算_Eigen矩阵基本运算
- web网页设计期末课程大作业 基于HTML+CSS+JavaScript响应式环保科技公司网站模板(环保主题网站设计)
- 肩外展固定支架的规格参数介绍和使用方法
- ad中使用智能粘贴_AD元件复制粘贴使用技巧
- 2021年高处安装、维护、拆除考试及高处安装、维护、拆除考试技巧
- 485集线器在总线型数据采集系统的应用
- 【教程】Unity账号注册和Unity Hub激活
- Unity获取Android手机的RAM和剩余RAM和ROM
- 二维码编码库qrencode
- JetBrains DataGrip安装和使用的详细教程
- 手动搭建redis集群
- 微信小程序正则表达式判断邮箱格式
- drds的update使用
热门文章
- 北京环球影城如此火爆的流量密码在哪里?
- 海南省地图geo JSON 带群岛
- ubuntu18安装微信QQ
- s一般怎么称呼自己的m_从你对四种新疆夏至美食的称呼,就能判断你是不是新疆人...
- 很久很久以前写的,博客转啦,放这里吧
- Flask ORM SQLAlchemy数据操作完整案例
- GTX2080的GPU版本caffe的环境
- JAVA日期转换YY和yy_在java中将dateTime转换为dd / MM / yy格式的日期
- 聚观早报 | 保时捷将于月底挂牌上市;宁德时代首创MTB技术落地
- AutoCAD .Net 创建填充Hatch