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 ...
随机推荐
- POJ 3111 K Best ( 二分 )
题意 : 给出 N 个物品的价值和重量,然后要求选出 K 个物品使得选出来物品的单位重量价值最大,最后输出被选物品的编号. 分析 : 很容易去想先算出每个物品的单位价值然后升序排序取前 K 个,但是 ...
- .net api 和java平台对接技术总结
这两天 一直和京东对接接口,我们用.net api 提供接口,对方用java调用,本来没什么问题,但是对方对数据安全要求特别严,要验签,于是噩梦开始了. 1.在传输的时候,约定传输格式: HttpWe ...
- Java 实现 对象和转字符串之间的互转 (json格式)
添加依赖: <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId> ...
- sqlserver 查询当前阻塞进程 并杀掉
select * from master.dbo.sysprocesses where DB_NAME(dbid)=’test’ and spid<>@@SPID 看看阻塞的进程 然后ki ...
- React Native商城项目实战15 - 首页购物中心
1.公共的标题栏组件TitleCommonCell.js /** * 首页购物中心 */ import React, { Component } from 'react'; import { AppR ...
- Linux驱动开发6——DDR内存分配
1.kmalloc和kfree #include <linux/slab.h> void *kmalloc(size_t size, int flags); flag: GFP_ATOMI ...
- 设置bios加快系统的启动
设置bios加快系统的启动 bois的设置错误, 还会引起系统的工作不正常 bios设置正确合理, 关系到系统的高效运行: 一般, 应该将bios中, 系统的各个cache 缓存开启,如cpu缓存, ...
- 测开之路一百二十四:flask之MVC响应过程
MVC流程 原本的请求响应 结构: 视图: from flask import Flask, render_template app = Flask(__name__) @app.route(&quo ...
- UI自动化之日志的处理
写自动化时,我们常常希望打印出浏览器的操作记录,也同时希望报错的记录能够保留并用于问题的排查,这时候可以用到loggging模块 目录 1.logging文件 2.调用日志 1.logging文件 # ...
- spring boot 整合 RabbitMQ 错误
1.错误 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.spr ...