Python 入门基础3 --流程控制
今日目录:
一、流程控制
1. if
2. while
3. for
4. 后期补充内容
一、流程控制--if
1.if判断:
# if判断
age = 21
weight = 50 if age > 18 and age < 25 and weight >40 and weight < 60:
print("表白。。。")
2.if+else:
# 语法二:if - else
age = 21
weight = 50 if age > 18 and age < 25 and weight > 40 and weight < 60:
print("表白。。。")
else:
print("你好!再见!")
3.if嵌套:
# 语法三:if条件的嵌套
sex = "female"
age = 18
weight = 50
is_successful = True if sex == "female" and age >= 18 and age < 25 \
and weight > 40 and weight < 60 :
print("表白。。。")
if is_successful:
print("在一起、、、、")
else:
print("qtmd、、、、、")
else:
print("你好!再见!")
4.if-elif:
如果 成绩>=90,那么:优秀 如果 成绩>=80且<90,那么:良好 如果 成绩>=70且<80,那么:普通 其他情况:很差
score = input("请输入你的成绩:") score = int(score) if score >= 90:
# print("优秀!")
print("你真TM优秀!") elif score >= 80:
# print("良好!")
print("恩,还不错!") elif score >= 70:
# print("普通!")
print("一般般啦!")
else:
# print("很差!")
print("回家卖红薯吧!")
二、流程控制--while
1.while循环又称为条件循环
while True:
name = input("Please input your name :")
pwd = input("Please input your password :") if name == "zhangsan" and pwd =="":
print("login。。。。。。")
else:
print("Your username or password error , please input again!")
2.while+条件结束
# ---条件跳出--
tag = True
while tag:
name = input("Please input your name :")
pwd = input("Please input your password :") if name == "zhangsan" and pwd =="":
print("login。。。。。。")
tag = False
else:
print("Your username or password error , please input again!")
3.while+break:
break:退出本层循环
# ---break-----
while True:
name = input("Please input your name :")
pwd = input("Please input your password :") if name == "zhangsan" and pwd =="":
print("login。。。。。。")
break
else:
print("Your username or password error , please input again!")
4.while+continue:
continue:退出本次循环,继续下一次循环
# ---continue----
count = 1
while count < 6:
if count == 4:
count += 1
continue print(count)
count += 1
5.while + else
当while循环正常执行完,中间没有break中止的话,执行else
# ---while-else----
count = 1
while count < 6:
if count == 4:
count += 1
continue print(count)
count += 1
else:
print("while-else最后else的代码")
三、流程控制--for
for循环又称为迭代循环
for可以不依赖于索引取指,是一种通用的循环取指方式
循环次数是由被循环对象包含值的个数决定的,而while的循环次数是由条件决定的
for i in range(10):
print(i)
1.for+break:
和while类似
2.for+continue:
和while类似
3.for+else:
和while类似
4.range():
range(1,5)
>>>1 2 3 4 range(5)
>>>1 2 3 4 range(1,5,2) #i = i + 2
>>>1 3
注意:
python2中:range(1,5)直接生成[1,2,3,4]列表
python3中:range(1,5)不会直接生成列表,依旧是 range(1,5)
5.嵌套循环
# for嵌套循环
for i in range(3):
for j in range(3):
print(i,j) 结果:
0 0
0 1
0 2
1 0
1 1
1 2
2 0
2 1
2 2
本节练习:
一、while循环
1.用户登录验证
# 1.用户登录验证 name = input("请输入用户名字: ")
pwd = input("请输入密码: ") if name =='zzw' and pwd =="":
print("zzw login success!")
else:
print("用户名或密码错误!")
2.根据用户输入内容输出其权限
# 2.根据用户输入内容输出其权限 #
# zzw -- 超级管理员
# zhangsan -- 普通管理员
# lisi -- 业务主管
# 其他 -- 普通用户
# name = input("请输入用户名字:") if name == "zzw":
print("超级管理员")
elif name == "zhangsan":
print("普通管理员")
elif name == "lisi":
print("业务主管")
else:
print("普通用户")
3.浪否?
"""
如果:今天是Monday,那么:上班
如果:今天是Tuesday,那么:上班
如果:今天是Wednesday,那么:上班
如果:今天是Thursday,那么:上班
如果:今天是Friday,那么:上班
如果:今天是Saturday,那么:出去浪
如果:今天是Sunday,那么:出去浪
""" today = input("请输入今天是周几:") if today in ["Monday","Tuesday","Wednesday","Thurday","Friday"]:
print("滚去上班!不准浪!")
elif today in ["Saturday","Sunday"]:
print("出去浪吧!")
else:
print("""
输入格式:
Monday,Tuesday,Wednesday,Thurday,Friday,Saturday,Sunday
""")
二、while循环
1. 使用while循环输出1 2 3 4 5 6 8 9 102. 求1-100的所有数的和
3. 输出 1-100 内的所有奇数
4. 输出 1-100 内的所有偶数
5. 求1-2+3-4+5 ... 99的所有数的和
6. 用户登陆(三次机会重试)
7:猜年龄游戏
要求:
允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出
8:猜年龄游戏升级版
要求:
允许用户最多尝试3次
每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序
如何猜对了,就直接退出
# 1.使用while循环输出1 2 3 4 5 6 8 9 10
i = 1
while i < 10:
if i == 7:
i += 1
continue
print(i,end=' ')
i += 1
#2. 求1-100的所有数的和
sum = 0
i = 1
while i<=100:
sum +=i
i +=1
print(sum)
#3.输出 1-100 内的所有奇数 i = 1
while i<=100:
print("%s"%i,end=" ")
i += 2
#4.使用 while 循环实现输出 1-100 内的所有偶数 i = 1
while i<=100:
print("%s" % (i+1), end=" ")
i += 2
# 5.使用while循环实现输出2-3+4-5+6...+100 的和
i = 2
sum = 0
tag = True # 符号判断位,用来控制加减 True: +i False: -i
while i <= 100:
if tag:
sum += i
tag = False
else:
sum -= i
tag = True
i += 1
print("2-3+4-5+...+100 = %s" % sum)
#6. 用户登陆(三次机会重试)
count = 0
tag = True while tag:
if count >= 3:
break
name = input("Please input your name :")
pwd = input("Please input your password :") if name == "zhangsan" and pwd =="":
print("login。。。。。。")
tag = False
else:
print("Your username or password error , please input again!")
count += 1
# #7:猜年龄游戏
# 要求:
# 允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出
AGE = 56
tag = True
count = 0 while tag:
age = input("请猜一猜年龄:")
if age == AGE:
print("这都能猜中!太厉害了!")
tag = False
else:
print("很遗憾,你猜错了!") if count ==2:
print("你都猜了三次了,竟然还没猜对!!")
break
count +=1
# #8:猜年龄游戏升级版
# 要求:
# 允许用户最多尝试3次
# 每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序
# 如何猜对了,就直接退出 AGE = 56
tag = True
count = 0 while tag:
age = input("请猜一猜年龄:")
if age == AGE:
print("这都能猜中!太厉害了!")
tag = False
else:
print("很遗憾,你猜错了!")
count += 1 if count ==3:
is_continue = input("你还要继续猜吗?(Y/N) :")
if is_continue == 'Y' or is_continue == 'y':
count = 0
else:
tag = False
三、for循环
1.打印九九乘法口诀表
以下是 print() 方法的语法: print(*objects, sep=' ', end='\n', file=sys.stdout)
参数
objects -- 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
sep -- 用来间隔多个对象,默认值是一个空格。
end -- 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
file -- 要写入的文件对象。
输出结果:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
for i in range(1, 10):
for j in range(1, i + 1):
print("%s*%s=%s" % (i, j, i * j), end=' ')
print() # 内循环进行完一次,换行
2.打印金字塔
输出结果:
*
***
*****
*******
*********
# 打印金字塔 row = 5
col = 9 for i in range(1,row+1): # 5行
num = (2*i-1) # 此行将打印几个 *
for l in range((col-num)//2): # 打印前面几个空格符
print(" ",end="")
for k in range((col-num)//2,(col-num)//2 + num): # 在哪个位置开始打印 *
print("*",end='')
print()
四、后期补充内容
4.1 流程控制 -菜鸟教程
条件控制:菜鸟教程
循环语句:菜鸟教程
Python 入门基础3 --流程控制的更多相关文章
- JAVA入门基础及流程控制
JAVA入门基础及流程控制 数据类型 位 存储单位 eg:0001 0011 八位 字节 byte 处理数据单位 一字节等于八位 eg:1b=0011 0001 类变量: static int num ...
- Python 入门基础6 --字符编码、文件操作1
今日内容: 1.字符编码 2.字符与字节 3.文件操作 一.字符编码 了解: cpu:将数据渲染给用户 内存:临时存放数据,断电消失 硬盘:永久存放数据,断电后不消失 1.1 什么是编码? 人类能够识 ...
- Python分支结构与流程控制
Python分支结构与流程控制 分支结构 if 语句 分支结构在任何编程语言中都是至关重要的一环,它最主要的目的是让计算机拥有像人一样的思想,能在不同的情况下做出不同的应对方案,所以if语句不管是在什 ...
- Python第四天 流程控制 if else条件判断 for循环 while循环
Python第四天 流程控制 if else条件判断 for循环 while循环 目录 Pycharm使用技巧(转载) Python第一天 安装 shell 文件 Python第二天 ...
- Go语言基础之流程控制
Go语言基础之流程控制 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”. Go语言中最常用额流程控制有if和for,而switch和goto主要是为了简化代 ...
- Java基础-程序流程控制第二弹(循环结构)
Java基础-程序流程控制第二弹(循环结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 流程控制有三种基本结构:顺序结构,选择结构和循环结构.一个脚本就是顺序结构执行的,选择结 ...
- Java基础-程序流程控制第一弹(分支结构/选择结构)
Java基础-程序流程控制第一弹(分支结构/选择结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.if语句 1>.if语句的第一种格式 if(条件表达式){ 语句体: ...
- Python入门基础学习 三
Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形 ...
- Python入门基础学习 二
Python入门基础学习 二 猜数字小游戏进阶版 修改建议: 猜错的时候程序可以给出提示,告诉用户猜测的数字偏大还是偏小: 没运行一次程序只能猜测一次,应该提供多次机会给用户猜测: 每次运行程序,答案 ...
随机推荐
- Java单元测试框架 JUnit
Java单元测试框架 JUnit JUnit是一个Java语言的单元测试框架.它由Kent Beck和Erich Gamma建立,逐渐成为源于KentBeck的sUnit的xUnit家族中为最成功的一 ...
- Vue实现对数组、对象的深拷贝、复制
当组件间传递对象时,由于此对象的引用类型指向的都是一个地址(除了基本类型跟null,对象之间的赋值,只是将地址指向同一个,而不是真正意义上的拷贝),如下 数组: ,,]; var b = a; b.p ...
- 【设计模式】—— 状态模式State
前言:[模式总览]——————————by xingoo 模式意图 允许一个对象在内部改变它的状态,并根据不同的状态有不同的操作行为. 例如,水在固体.液体.气体是三种状态,但是展现在我们面前的确实不 ...
- 51Nod 1175 区间中第K大的数 (可持久化线段树+离散)
1175 区间中第K大的数 基准时间限制:1 秒 空间限制:131072 KB 分值: 160 难度:6级算法题 一个长度为N的整数序列,编号0 - N - 1.进行Q次查询,查询编号i至j的所有 ...
- nginx mp3
location /mp3 { alias "d:/mp3"; default_type audio/mpeg; autoindex on; }
- Y组合子
Y组合子 Y组合子的用处 作者:王霄池链接:https://www.zhihu.com/question/21099081/answer/18830200来源:知乎著作权归作者所有.商业转载请联系作者 ...
- 【题解】 bzoj4033: [HAOI2015]树上染色* (动态规划)
bzoj4033,懒得复制,戳我戳我 Solution: 定义状态\(dp[i][j]\)表示\(i\)号节点为根节点的子树里面有\(j\)个黑色节点时最大的贡献值 然后我们要知道的就是子节点到根节点 ...
- 企业级 SpringBoot 教程 (一)构建第一个SpringBoot工程
简介 spring boot 它的设计目的就是为例简化开发,开启了各种自动装配,你不想写各种配置文件,引入相关的依赖就能迅速搭建起一个web工程.它采用的是建立生产就绪的应用程序观点,优先于配置的惯例 ...
- 洛谷 P1993 小K的农场 解题报告
P1993 小K的农场 题目描述 小K在MC里面建立很多很多的农场,总共n个,以至于他自己都忘记了每个农场中种植作物的具体数量了,他只记得一些含糊的信息(共m个),以下列三种形式描述: 农场a比农场b ...
- 解题:NOIP 2018 保卫王国
题面 最小支配集=全集-最大独立集 所以先把点权改成正无穷/负无穷来保证强制选/不选某个点到独立集里,然后变成了洛谷的动态DP模板 GTMDNOIP2018ZTY #include<stack& ...