Python程序的流程
1 """
2 python程序的流程
3 """
4 # ------------- 分支结构----------------
5 # if else
6 import math
7
8 x = -37
9 if x < 0:
10 y = math.fabs(x)
11 else:
12 y = math.sqrt(x)
13 print("计算的结果是:", y)
14
15 # if...elif...else
16 # month = eval(input("请输入你选择的月份:")) # eval() 函数用来执行一个字符串表达式,并返回表达式的值
17 month = 12
18 days = 0
19
20 if (month == 1 or month == 3 or month == 5 or month == 7
21 or month == 8 or month == 10 or month == 12):
22 days = 31
23 elif month == 4 or month == 6 or month == 9 or month == 11:
24 days = 30
25 else:
26 days = 28
27 print("{}月份的天数为{}".format(month, days))
28
29 # 分支嵌套
30 flag = 1
31 books = 8
32 price = 234
33 Acp = 0
34
35 if flag == 1:
36 if books >= 5:
37 Acp = price * 0.75 * books
38 else:
39 Acp = price * 0.85 * books
40 else:
41 if books >= 5:
42 Acp = price * 0.85 * books
43 else:
44 Acp = price * 0.95 * books
45 print("你的实际付款金额是:", Acp)
46
47 # ------------循环结构---------------
48
49 # 遍历循环:for
50 '''
51 for <var> in <seq>:
52 <statements>
53 var是一个变量
54 seq是一个序列,可以是字符串、列表、文件或range()函数
55
56 range()函数
57 range(start,stop,[,step])
58 start:默认从0开始
59 stop:默认到stop结束,但不包括stop
60 step:默认为1
61 '''
62 # 计算1-100中能被3整除数之和
63 s = 0
64 for i in range(1, 101, 1):
65 if i % 3 == 0:
66 s += i
67 # print(i)
68 print(s)
69
70
71 # 计算 1!+2!+...+5!
72 def factorial(n):
73 t = 1
74 for v in range(1, n + 1):
75 t = t * v
76 return t
77
78
79 k = 6
80 sum1 = 0
81 for j in range(1, k):
82 sum1 += factorial(j)
83 print("1!+2!+...+5!=", sum1)
84
85 # 条件循环语句while
86 """
87 while <boolCondition>
88 <statements>
89 """
90
91 lst = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
92 head = 0
93 tail = len(lst) - 1
94 while head < len(lst) / 2: # TypeError: object of type 'type' has no len()/报错,需修改
95 lst[head], lst[tail] = lst[tail], lst[head] # 头尾互换?
96 """
97 也可以用下面语句来进行头尾互换
98 temp = list[head]
99 lst[head] = list[tail]
100 lst[tail] = temp
101 """
102 head += 1
103 tail -= 1
104
105 for item in lst:
106 print(item, end=' ')
107
108 # 用for循环改写
109 lst = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
110 head = 0
111 tail = len(lst) - 1
112 for head in range(0, int(len(lst) / 2)): # 因为range()函数的参数必须是整数,所以用int()函数进行了转换
113 lst[head], lst[tail] = lst[tail], lst[head] # 头尾互换?
114 """
115 也可以用下面语句来进行头尾互换
116 temp = list[head]
117 lst[head] = list[tail]
118 lst[tail] = temp
119 """
120 head += 1
121 tail -= 1
122
123 for item in lst:
124 print(item, end=' ')
125 print()
126
127 # ------------跳转语句----------------
128 """
129 break语句的作用是从循环体内跳出,及结束循环
130 """
131 a = 99
132 i = a // 2
133 while i > 0:
134 if a % i == 0:
135 break
136 i -= 1
137 print(a, "的最大真约数:", i)
138
139 """
140 continue语句必须用于循环结构中,它的作用是终止当前的这一轮循环,跳过本轮剩余的语句,直接进入下一循环
141 """
142 s = [-1, -2, -3, -4, 5, 6, 7, 8, 9]
143 for i in range(9):
144 if s[i] < 0:
145 continue
146 print("{}是正数".format(s[i]))
147
148 # 打印金字塔
149 # n = eval(input("请输入打印的行数"))
150 n = 5
151 for i in range(1, n + 1):
152 print(' ' * (n - i) + '*' * (2 * i - 1)) # 感觉这个print函数都够学的了
Python程序的流程的更多相关文章
- Python程序运行流程与垃圾回收机制
Python程序运行流程 Python解释器首先将程序将py文件编译成一个字节码对象PyCodeObject(只存在于内存中).(当这个模块的 Python 代码执行完后,就会将编译结果保存到了pyc ...
- 用GDB排查Python程序故障
某Team在用Python开发一些代码,涉及子进程以及设法消除僵尸进程的需求.实践中他们碰上Python程序非预期退出的现象.最初他们决定用GDB调试Python解释器,查看exit()的源头 ...
- 小议common lisp程序开发流程 - Ever 17 - 博客频道 - CSDN.NET
小议common lisp程序开发流程 - Ever 17 - 博客频道 - CSDN.NET 小议common lisp程序开发流程 分类: lisp 2011-04-17 20:59 1316人阅 ...
- Python:使用Kivy将python程序打包为apk文件
1.概述 Kivy是一套Python下的跨平台开源应用开发框架,官网,我们可以用 它来将Python程序打包为安卓的apk安装文件.以下是在windows环境中使用. 安装和配置的过程中会下载很多东西 ...
- Jenkins简明入门(二) -- 利用Jenkins完成Python程序的build、test、deployment
大家可能还没搞清楚,Jenkins到底能做什么? 本节内容利用Jenkins完成python程序的build.test.deployment,让大家对Jenkins能做的事情有一个直观的了解. 本节内 ...
- 将Python 程序打包成 .exe格式入门
PyInstaller PyInstaller 是一个十分有用的第三方库,可以用来打包 python 应用程序,打包完的程序就可以在没有安装 Python 解释器的机器上运行了. 它能够在 Windo ...
- 改善python程序的建议[转]
<编写高质量代码 改善Python程序的91个建议> <编写高质量代码 改善Python程序的91个建议>读后程序学习小结 - BigDeng_2014的专栏 - CSDN博客 ...
- flask实战-留言板-Web程序开发流程
Web程序开发流程 在实际的开发中,一个Web程序的开发过程要设计多个角色,比如客户(提出需求).项目经理(决定需求的实现方式).开发者(实现需求)等,在这里我们假设自己是一个人全职开发.一般来说一个 ...
- 月薪3万的python程序员都看了这本书
想必大家都看过吧 Python编程从入门到实践 全书共有20章,书中的简介如下: 本书旨在让你尽快学会 Python ,以便能够编写能正确运行的程序 —— 游戏.数据可视化和 Web 应用程序,同时掌 ...
随机推荐
- laravel7 数据库数据导出至 xlsx
网址参考: https://learnku.com/articles/32391 1:安装excel插件 安装方式 composer require maatwebsite/excel 2:excel ...
- [链表]LeetCode 25 K组一个翻转链表
LeetCode 25 k组一个翻转链表 TITLE 示例 1: 输入:head = [1,2,3,4,5], k = 2 输出:[2,1,4,3,5] 示例 2: 输入:head = [1,2,3, ...
- 移动APP开发框架盘点2:Web移动前端框架大全
前言 自上次发布了<移动APP开发框架盘点>后,时间已经过去了三年, 为什么突然又写一篇续集呢?是因为有一个非常有意思的发现. 开源项目其实有一个成熟周期,这个周期大概是三年左右,自Rea ...
- Java进程占用系统内存较高的排查方法
1.通过top 查看具体是哪个进程占用内存较多 Tasks: 65 total, 1 running, 64 sleeping, 0 stopped, 0 zombie %Cpu(s): 2.0 us ...
- 4月17日 python学习总结 反射、object内置方法、元类
一.反射 下述四个函数是专门用来操作类与对象属性的,如何操作? 通过字符串来操作类与对象的属性,这种操作称为反射 class People: country="China" def ...
- 说说UI自动化中的PO模式
PO模式,全称PageObject模式,即页面对象模式.将页面定位与业务操作分离. po模式有以下几个优点: 1.易读性好 2.扩展性高 3.复用性强 4.维护性好 5.代码冗余率低 了解了po模式及 ...
- cute
环境准备 将靶机导入后将网络设置为NAT kali:192.168.0.102 cute:192.168.0.107 端口扫描 使用nmap对靶机进行端口扫描 nmap –A –p- 192.168. ...
- SINAMICS S120的核心控制单元CU320使用教程,电机模块接线
SINAMICS是西门子公司新一代的驱动产品,它正在逐步取代现有的MASTERDRIVES及SIMODRIVE系列的驱动系统.SINAMICS S120是集V/f控制.矢量控制和伺服控制于一体的多轴驱 ...
- 如何移植sqlite3到嵌入式平台
本人也时常看其他人的blog,搜索资料的目的是尽快解决当前的问题,例如如何移植一个ssh,尽快要明白所需的东西,方能移植完成. 移植sqlite3的步骤如下: 1. 到官方网站下载指定的源码包:htt ...
- 羽夏逆向指引—— Hook
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易,如果本篇文章有帮助你的, ...