python之流程控制升级
python之流程控制:if elif else while for
一、流程控制之if:
1.1为什要有if判断:让计算机能像人一样代替人类工作,那么计算机应该有对于事务的读错,真假,是否可行的判断能力,从而做出不同的响应
1.2 if固定语法:
固定语法:
python用缩进表示代码的归属
同一缩进的代码,称之为代码块
补充:布尔值False数据类型:0,None,空:[],{},''等
变量名也可以用来判断,因为变量名指向的值对应的就是True或False
第一种单独if语法:
if 条件:(门户:条件满足直接进代码块内容)
代码1
代码2
代码3
代码4
代码
eg:
gender = 'female'
age = 18
is_beautiful = True
if gender == 'female' and age > 16 and age < 30 and is_beautiful:
print('符合要求可以表白')
print('执行完成上面会自动走这里')
第二种用法:if + else
if 条件:
代码1
代码2
代码3
代码4
else: # 不能单独使用,必须和if while使用
代码1
代码2
代码3
代码4
gender = 'female'
age = 18
is_beautiful = True
if gender == 'female'and age > 35 and is_beautiful:
print('符合要求可以表白')
else:
print('啥玩意')
第三种if + elif + else
if 条件:
代码1
代码2
elif 条件:()
代码1
代码2
elif 条件:
代码1
代码2
else:
代码1
代码
gender = 'female'
age = 38
is_beautiful = True
if gender == 'female'and age >20 and age <30 and is_beautiful:
print('符合要求可以表白')
elif gender == 'female' and is_beautiful: # 满足两个即可
print('不嫌弃哈哈哈')
else:
print('都不符和')
走else上面的情况都不符合
gender = 'female'
age = 38is_beautiful = True
if gender == 'female'and age >20 and age <30 and is_beautiful: print('符合要求可以表白')
elif gender == 'female' and is_beautiful == False: # 满足两个即可 print('不嫌弃哈哈哈')
else: print('都不符和')
练习:综合
1. 如果:成绩>=90,那么:优秀
如果成绩>=80且<90,那么:良好
如果成绩>=70且<80,那么:普通
其他情况:很差
if elif else 同一级别配合使用的时候只会执行一个代码
score = input('输入成绩>>>:')
score = int(score)
if score >= 90:
print('优秀')
elif score >= 80:
print('良好')
elif score>= 70:
print('普通')
elif score >= 60:
print('及格')
else:
print('小垃圾~!')
练习2:模拟用户登录
# 模拟用户去银行登录
# 用好系统存储好用户信息
from_db_name = 'jason'
from_db_password = '
# 用户输入姓名和密码
while True:
username = input('输入用户姓名>>>:').strip()
password = input('输入用户密码>>>:').strip()
if username == from_db_name and password == from_db_password:
# 判断是否一致
print('登录成功')
break # 登录成功结束本层循环
else:
print('用户名或则密码错误')
print('验证break后是否运行这里的代码') # 是的
练习3:
"""如果:今天是Monday,那么:上班如果:今天是Tuesday,那么:上班如果:今天是Wednesday,那么:上班如果:今天是Thursday,那么:上班如果:今天是Friday,那么:上班如果:今天是Saturday,那么:出去浪如果:今天是Sunday,那么:出去浪"""
# 获取用户输入:
# 直接 判断用户输入的信息是否在在表里面
Today = input('today is >>>:').strip()
if Today in ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday',]:
print('上班去了')
elif Today in ['Saturday', 'Sunday']:
print('去浪去了')
else:
print('输入有误,请重新输入')
第四种if 嵌套 if :
gender = 'female'
age = 22
is_beautiful = True
success = False
if gender == 'female'and age >20 and age <30 and is_beautiful == True:
print('符合要求可以表白')
if success:
print('跟我走吧')
else:
print('表白失败,去你MLGb的爱情')
elif gender == 'female' and is_beautiful == False: # 满足两个即可
print('不嫌弃哈哈哈')
else:
print('都不符和')
二、while 循环:
2.1while 循环
1.while 条件(成立): # 则执行下面代码
代码1
代码2
代码3
代码4
eg:while True:用户登录 执行内部代码
# 用好系统存储好用户信息
from_db_name = 'jason'
from_db_password = '
# 用户输入姓名和密码
while True:
username = input('输入用户姓名>>>:').strip()
password = input('输入用户密码>>>:').strip()
if username == from_db_name and password == from_db_password:
# 判断是否一致
print('登录成功')
break # 登录成功结束本层循环
else:
print('用户名或则密码错误')
print('验证break后是否运行这里的代码') # 是的
练习:
1.1# 用while循环打印0-10
count = 0
while count < 11:
print(count)
count += 1
#1. 2使用while循环输出1 2 3 4 5 6 8 9 10
#1. 使用while循环输出1 2 3 4 5 6 8 9 10
n = 1
while n < 11:
if n == 7:
n += 1
continue
print(n) # zhi执行每一次的结果
n += 1
#1.3 求0-100所有数之和
#. 求1-100的所有数的和
sum = 0
n =1
while n <= 100:
sum += n
n += 1
print(sum)
#. 输出 1-100 内的所有奇数
#3. 输出 1-100 内的所有奇数
y = 0
sump=0
while y <= 100:
if y %2 == 1:
sump += y
y += 1
print('奇数和为%d'%sump
# m = 0
# sum1 = 0 # 奇数
# sum2 = 0 #
# while m <= 100:
# if m%2 == 1:
# sum1 += m
# else:
# sum2 += m
# m += 1
# print('奇数之和为%d'%sum1)
# print('偶数之和为%d'%sum2)
#5. 求1-2+3-4+5 ... 99的所有数的和
k = 0
sum1 =0
sum2= 0
while k<=99:
if k%2 ==1:
sum1 +=k
k+=1
else:
sum2 -=k
k+=1
print(sum1+sum2)也可将k+=1提取出来
k = 0
sum1 =0
sum2= 0
while k<=99:
if k%2 ==1:
sum1 +=k
else:
sum2 -=k
k +=1
print(sum1+sum2)
# 用户登陆(三次机会重试)
#6. 用户登陆(三次机会重试)
name = 'jason'
pwd = '
n =1
while n<=3:
username = input('输入用户名>>>:').strip()
password = input('输入密码>>>:').strip()
':
print('登录成功')
bre
else:
print('输入有误。。。')
n +=1
# 模拟用户登录登录成功则直接break直接跳出循环不在执行,当用户登录超过三次给用户一个选择是否继续进行重新输入
username = 'jason'pwd = '123'm = 0while True: if m == 3: choice = input('输入已达三次是否重新输入<y/n>').strip() if choice == 'y': m = 0 elif choice == 'n': break else: continue name = input('用户名:') password = input('密码:') if name == username and pwd == password: print('登陆成功') break else: print('用户名或者密码错误') m += 1
2.2 break 和continue 的区别及用法
# 1,2,3,4,6,7,8,9
n = 1
while n<10:
if n == 5:
n+=1
continue # 跳出本次循环进行下一次循环 #
1,2,3,4,6,7,8,9
print(n) n+=1
continue:跳出本次循环,直接开始下一次循环(还在执行while循环条件)

n = 1
while n < 10:
if n == 5:
n += 1
break # 终止本层循环进行执行外面代码 1,2,3,4
print(n)
n += 1
print('continue执行完毕,才走这里')
break:立即结束本层循环 >>>只是针对它属于的那一层

break的优化 is_flag = False 定义一个全局标志位,通过变量限制while的执行
name = 'jason'
pwd = '
is_tag = True
while is_tag :
username = input('输入用户名>>>:').strip()
password = input('输入密码>>>:').strip()
':
print('登录成功')
while is_tag:
cmd = input("""
1.取现
2.转账
3.其他
q.退出
""")
if cmd == 'q':
is_tag = False
']:
print('执行相应功能')
else:
print('输入有误')
else:
print('输入有误。。。')
2,.3while +else的用法:
n = 1
while n < 5:
print(n)
n += 1
else:
print('else是在没有人为中止情况下执行')

n = 1
while n < 5:
if n == 3:
break
print(n)
n += 1
else:
print('else是在没有人为中止情况下执行')

四、for 循环:
4.1 len() # 获取数据类型(容器类型)的个数,注意:字符是特列,获取的是字符串中字符的个数
# while 循环取值需要索引取值
l = [11,22,33,45,6,6,88,99]
n = 0 # 当成索引
while n < len(l):
# print(n) # 拿到的是索引
print(l[n]) # 拿到值需要索引取值 # 》》》11,22,33,45,6,6,88,99
n += 1 # 终止条件
for i in l:
print(i) # 不需要索引可以直接拿到值 # 》》》11,22,33,45,6,6,88,99
#4.2 字典在被for循环的时候,只会返回出它的key,value是不会主动暴露给用户的
my_dict = {'name':'jason', 'age':18, 'hobby':['dance','开车','rap']}
for i in my_dict:
print(i)
# name # key 都是健
# age
# hobby
my_dict = {'name':'jason', 'age':18, 'hobby':['dance','开车','rap']}for i in my_dict.values(): print(i)# 拿到值要点value
my_dict = {'name':'jason', 'age':18, 'hobby':['dance','开车','rap']}for i in my_dict.items(): print(i)# 拿到健值对点items()
4.3 for + continue 跳出本次循环进行下一次循环
name_list = ['jason','egon','tank','liuxc']
for name in name_list:
if name == 'jason':
continue # 没有打印jason 后面的都打印出来了
print(name)

4.4 for +break
ame_list = ['jason','egon','tank','liuxc']
for name in name_list:
if name == 'egon':
break # 没有打印jason 后面的都打印出来了
print(name)
4.5for 循环 + esle 和while一模一样 if 和else:内部代码 只要是认为break终止循环是不会走else语句的,
只有当for循环自动条件结束才会做else语句

五、range在python2和python3的区别
range()在python2和python3的区别 python2中 1.range其实就是一个列表 写多少 就展示多少,占据内存大
2.xrange()其实就是一个生成器 对于python是一个极大的优化 python3生成器:range是一个老母猪,你需要=值的时候我才给你

# 九九乘法表
for i in range(1,10):
for j in range(1,i+1):
# res = i*j
print('%s*%s=%s'%(i,j,i*j),end=' ',)
print()
C:\Users\10243\AppData\Local\Programs\Python\Python36\python.exe "D:/datas/day 04/for 循环.py"
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
Process finished with exit code 0
"""
#max_level=5 总层数
* # current_level=1 空格数=max_level-1 星号=2*current_level-1 1
*** # current_level=2 空格数=max_level-1 星号=2*current_level-1 3
***** # current_level=3 空格数=max_level-1 星号=5
******* # current_level=4 空格数=max_level-1 星号=7
********* # current_level=5 空格数=max_level-1 星号=9
找规律
"""
# 先打印最外层
max_level = input('输入层数》》》:').strip()
max_level = int(max_level)
for current_level in range(1,max_level+1):
# print(current_level)
# 打印空格
for i in range(max_level-current_level):
# print(i)
print(' ',end='')
# 打印星星数
for j in range(2*current_level-1):
# print(j)
print('*', end='')
print()
python之流程控制升级的更多相关文章
- Python之流程控制——if...else...
Python之流程控制--if...else... 一.流程控制 假如把程序比做走路,那我们到现在为止,一直走的都是直路,还没遇到过分岔口.当遇到分岔口时,你得判断哪条岔路是你要走的路,如果我们想让程 ...
- Python之流程控制——while循环
Python之流程控制--while循环 一.语法 while 条件: 执行代码 while就是当的意思,它指当其后面的条件成立,就执行while下面的代码. 例:写一个从0打印到10的程序 coun ...
- python之流程控制与运算符
第一:流程控制 一:if条件语句 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 单分支语句: 单分支,单个条件 age = 20 if age >= 18: print('you ...
- Python【流程控制与循环】
本文介绍 1.流程控制 2.while循环 一.流程控制 单分支 if 条件: ...Python代码,满足条件执行 双分支 if 条件: ...Python代码,满足条件执行 else: ...Py ...
- Python基础—流程控制
一.Python流程控制 计算机程序在解决某个具体问题时,包括三种情形,即顺序执行所有的语句.选择执行部分的语句和循环执行部分语句,这正好对应着程序设计中的三种程序执行结构流程:顺序结构.选择结构和循 ...
- python基础-流程控制(if,while,for)
今日内容总结 --流程控制(if,while,for) if:用来判断事物的对错.真假.是否执行.根据不同的情况判断,条件满足执行某条件下的语句 语法结构(3种) # 第一种,只有if结构.条件表达式 ...
- python之流程控制上-if、while
流程控制 编写程序,是将自己的逻辑思想记录下来,使得计算机能够执行的过程. 而流程控制,则是逻辑结构中十分重要的一环. 在程序中,基础的流程结构分为顺序结构.分支结构.顺序结构 顺序结构自不必多说,上 ...
- python基础-->流程控制-->分支结构-->单项分支-->双向分支
# ###流程控制 ''' 流程:代码执行过程 流程控制:对代码执行过程的管控 顺序结构:代码默认从上到下依次执行 分支结构:对代码执行过程的管控 循环机构: while for ..in.... 分 ...
- python之流程控制
流程控制之if-else if 条件1: 满足条件1的情况 else if 条件2: 满足条件2的情况 if 条件2.1: 满足条件2.1的情况(if-else语句的嵌套) else if 条件2.2 ...
随机推荐
- ExoPlayer + 边缓存边播放
在此基础上改动:https://www.cnblogs.com/candyzhmm/p/9957928.html private void openPlayer(String videoUrl) { ...
- 浙大PAT CCCC L3-014 周游世界 ( 最短路变形 )
题目链接 题意 : 中文题请点链接,挺复杂的... 分析 : 乍一看是个最短路,实际就真的是个最短路.如果没有 “ 在有多条最短路径的时候输出换乘次数最少的” 这一条件的约束,那么这题就是直接建图然后 ...
- js解决手机键盘影响定位的问题
// 滑动其他地方隐藏软键盘document.body.addEventListener('touchend', function(evt) { document.activeElement.blur ...
- HDU 1314 Numerically Speaking(大数加减乘除+另类二十六进制互相转换)
原题代号:HDU 1314 原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1314 Numerically Speaking Time Limit: 2 ...
- JSP Cookies处理
JSP Cookies处理 Cookies是存储在客户机的文本文件,它们保存了大量轨迹信息.在servlet技术基础上,JSP显然能够提供对HTTP cookies的支持. 通常有三个步骤来识别回头客 ...
- CG-CTF | 上传绕过
最近一直在做算法题,头都要大了,今天悄咪咪来一个web换换脑子,一发flag敲开♥[虽然知道这是个水题ε=ε=ε=┏(゜ロ゜;)┛]
- Linux内核调试方法总结之调试宏
本文介绍的内核调试宏属于静态调试方法,通过调试宏主动触发oops从而打印出函数调用栈信息. 1) BUG_ON 查看bug处堆栈内容,主动制造oops Linux中BUG_ON,WARN_ON用于调试 ...
- java设置RabbitMQ的消费处理出现:ConditionalRejectingErrorHandler : Execution of Rabbit message listener failed.
WARN 7868 --- [cTaskExecutor-1] s.a.r.l.ConditionalRejectingErrorHandler : Execution of Rabbit messa ...
- JS-Proxy
Proxy 对象用于定义基本操作的自定义行为(如属性查找,赋值,枚举,函数调用等). 参考:Proxy - JavaScript | MDN 语法: let p = new Proxy(target, ...
- lazyload懒加载插件
在main.js中引入vue-lazyload插件 并使用 注册插件: import VueLazyLoad from 'vue-lazyload' Vue.use(VueLazyLoad,{ lo ...