程序执行有三种方式:顺序执行、选择执行、循环执行

一、if条件判断

1、语句  

  (1)简单的 if 语句
  (2)if-else 语句
  (3)if-elif-else 结构
  (4)使用多个 elif 代码块if-elif-elif-...-else(elif可以使用多个)
  (5)省略 else 代码块if-elif-elif(else可以省去)
  (6)测试多个条件(简单if语句)

2、注意:

  (1)if 语句可以相互嵌套;

  (2)if嵌套,可以嵌套多层,但是一般嵌套两层就行了,如果嵌套多层的话不便维护代码,若需要嵌套多层,肯定可以用其它方式代替多层嵌套这种方式。

3、实例1:

#if嵌套用法
names = ["李国祥","任彦忠","毕洪态","张立佳"]
password = 123
name = input("请输入您的名字:")
if name in names:
passwd = int(input("请输入密码:"))
if passwd == password:
print("欢迎光临!")
else:
print("密码错误,请重新输入!")
elif name == "游客":
print("欢迎加入!")
else:
print("请输入正确的用户名!")
print("人生苦短,我学python!")

4、实例2:猜年龄

#在程序里设定好你的年龄,然后启动程序让用户猜测,用户输入后,根据他的输入提示用户输入的是否正确,如果错误,提示是猜大了还是小了
my_age = 18
guess_age = int(input("请猜测我的年龄:"))
if guess_age == my_age:
print("恭喜您才对了!奖励大大滴")
elif guess_age <= my_age:
print("猜小了,人家已经成年了")
else:
print("猜大了,我有那么老么?")

外层变量,可以被内层代码使用;

内存变量,不应被外层代码使用。

二、while循环

一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成

循环不是必须要使用的,但是为了提高代码的重复使用率,所以有经验的开发者都会采用循环

实例1:1~100的累加求和

#计算1~100的累计和
i = 1
sum = 0
while i <= 100:
sum = sum + i
i += 1
print("1~100的累积和为:%d"%sum)

实例2:99乘法表

i = 1
while i <= 9:
j = 1
while j <= i:
print("%d*%d=%d\t"%(j,i,i*j),end="")
j +=1
print("")
i +=1

实例3:打印1~100之间的偶数

#输出1-100之间的所有偶数
i = 1
while i <= 100:
if i%2 == 0:
print("i==%d"%i)
i += 1

实例4:猜年龄,只有3次机会

my_age = 18
count = 0
while count < 3:
guess_age = int(input("请猜测我的年龄:"))
if guess_age == my_age:
print("恭喜您才对了!奖励大大滴")
break
elif guess_age < my_age:
print("猜小了,人家已经成年了")
else:
print("猜大了,我有那么老么?")
count += 1
else:
print("猜这么多次都没才对,你个笨蛋")

实例5:

count = 0
while True:
print("你是风儿我是沙,缠缠绵绵到天涯...",count)
count +=1
if count == 100:
print("去你妈的风和沙,你们这些脱了裤子是人,穿上裤子是鬼的臭男人..")
break

三、for循环

  像while循环一样,for可以完成循环的功能。
  在Python中 for循环可以遍历任何序列的项目,如一个列表、字符串、元组等等。
  for循环的格式:
  for 临时变量 in 列表或者字符串等:
    循环满足条件时执行的代码
  else:
    循环不满足条件时执行的代码

实例1:遍历

name = "python"
for i in name:
print("----------------------")
print(i)

实例2:continue、break

continue的作用:用来结束本次循环,紧接着执行下一次的循环

break的作用:用来结束整个循环

for i in range(10):
if i<5:
continue #不往下走了,直接进入下一次loop
print("loop:", i )
------------------------------------------------------------------
loop: 5
loop: 6
loop: 7
loop: 8
loop: 9
for i in range(10):
if i>5:
break #不往下走了,直接跳出整个loop
print("loop:", i )
------------------------------------------------------------------
loop: 0
loop: 1
loop: 2
loop: 3
loop: 4
loop: 5
#pass,continue,break

#continue跳过本次循环进入下一次循环
count = 0
while count <= 5 :
count += 1
if count == 3:
continue
print("Loop", count) #breck跳出循环体
count = 0
while count <= 5 :
count += 1
if count == 3:
break
print("Loop", count) # pass用来占位的%s,%d,{}
count = 0
while count <= 5 :
count += 1
if count == 3:
pass
print("Loop", count)

实例3:猜拳游戏

#猜拳游戏
import random
win = 0
lose = 0
ping = 0
while True:
print('=====欢迎来猜拳=====')
print('胜:{} 败:{} 平:{}'.format(win, lose, ping))
print('1.石头 2.剪刀 3.布 4.退出')
computer = random.choice(['石头','剪刀','布'])
hum = input('==>:')
#赢
if (hum == '1' and computer == '剪刀') or (hum == '2' and computer =='布') or (hum == '3' and computer == '石头'):
print('挺牛逼!')
win += 1 #输
elif hum == '3' and computer == '剪刀' or hum == '1' and computer =='布' or hum == '2' and computer == '石头':
print('菜鸡!')
lose += 1
#平
elif hum == '2' and computer == '剪刀' or hum == '3' and computer =='布' or hum == '1' and computer == '石头':
print('不要走,决战到天亮')
ping += 1
elif hum == '4':
break
else:
print('别瞎输入!!')
print()
print()
print()
print()

实例4:用户登录验证

第一种方法:
#输入用户名和密码,认证成功后显示欢迎信息,输错三次后锁定
user_info = {'任彦忠':'123','ryz':'123','renyz':'ryz'}
count = 0
while count < 3:
user_name = input("请输入您的用户名:").strip()
if user_name in user_info.keys():
twice_count = count
while twice_count < 3:
pass_word = input("请输入您的密码:").strip()
if pass_word == user_info.get(user_name):
print("欢迎登陆")
exit()
else:
print("密码错误,请重新输入")
twice_count += 1
count = twice_count
else:
print('请输入正确的用户名!')
count += 1
continue
else:
print("您已经输错三次了,请稍后重试")
第二种方法:
count = 1 # 定义循环的次数,初始值为1
user = 'test'
pwd = '123'
while True:
# 当循环的次数等于4时,结束循环。count的值经过自加1操作后将会依次走1,2,3这三个数的变化,这就是3次了。
if count == 4:
print('Too many times!') # 当超过3次了,提示用户超过尝试登陆次数过多了。
break
username = input('Please enter your username:').strip() # 去除用户输入时字符串两边的空格
password = input('Please enter your password:').strip() # 去除用户输入的字符串两边的空格
# 如果用户输入的内容有值时进行以下判断
if username or password:
# 当判断用户名和密码都正确时结束循环。
if username == user and password == pwd:
print('Login successfully!')
exit() # 当用户名和密码匹配成功时退出程序
# 当判断用户名或密码不正确时走else下的条件。
else:
print('Login failed,you have %s more chances' % (3 - count))
# 如果用户输入的值为None时,则执行以下打印操作。
else:
print('Please enter your user name and password before landing')
continue # 当用户输入为空时,跳出本次循环,继续执行如下。
# 让每一次循环都进行自加1操作。
count += 1

实例五:多级菜单

#三级菜单,可依次选择进入各子菜单
data = {
"北京":{
"昌平":{
"沙河":{"oldboy","test"},
"天通苑":{"链家地产","我爱我家"}
},
"朝阳":{
"望京":{"奔驰","陌陌"},
"国贸":{"CICC","HP"},
"东真门":{"Advent","飞信"},
},
"海淀":{
"运维":{"计算机","IP"},
"云计算":{"python","java"},
"工程师":{"技术大牛","管理"},
},
},
"山东":{
"德州":{"1","2"},
"青岛":{"3","4"},
"济南":{},
},
"山西":{
"太原":{},
"大同":{},
"晋中":{},
},
}
exit_flag = False while not exit_flag:
for i in data:
print(i)
choice = input("选择进入1>>:")
if choice in data:
while not exit_flag:
for i2 in data[choice]:
print("\t",i2)
choice2 = input("选择进入2>>:")
if choice2 in data[choice]:
while not exit_flag:
for i3 in data[choice][choice2]:
print("\t\t",i3)
choice3 = input("选择进入3>>:")
if choice3 in data[choice][choice2]:
for i4 in data[choice][choice2][choice3]:
print("\t\t\t",i4)
choice4 = input("最后一层,按b返回>>:")
if choice4 == "b":
pass
elif choice4 == "q":
exit_flag = True
if choice3 == "b":
break
elif choice3 == "q":
exit_flag = True
if choice2 == "b":
break
elif choice2 == "q":
exit_flag = True

python基础之流程控制(if判断和while、for循环)的更多相关文章

  1. Python基础之流程控制if判断

    目录 1. 语法 1.1 if语句 1.2 if...else 1.3 if...elif...else 2. if的嵌套 3. if...else语句的练习 1. 语法 1.1 if语句 最简单的i ...

  2. python基础之流程控制、数字和字符串处理

    流程控制 条件判断 if单分支:当一个“条件”成立时执行相应的操作. 语法结构: if 条件: command 流程图: 示例:如果3大于2,那么输出字符串"very good" ...

  3. python基础之流程控制(2)

    今天将是基础篇的最后一篇,咱们来补上最后一个内容,流程控制for循环 For 循环 一.为什么有for循环? for循环能做的事情,while循环全都可以实现,但是在某些情境下,for循环相对于whi ...

  4. python基础之流程控制

    流程控制之----if 流程控制,是指程序在运行时,个别的指令(或者是陈述.子程序)运行或者求值的顺序.人生道路上的岔口有很多,在每个路口都是一个选择,在每个路口加上一个标签,选择哪个就是满足哪个条件 ...

  5. python基础:流程控制案例:

    1,简述编译型与解释型的语言,且分别列出你知道的哪些语言属于编译型,哪些属于解释型. 答:简单理解编译型语言类似谷歌翻译,整篇读入整篇翻译,代表语言有C语言,解释型语言类似同   声传译,读入一行翻译 ...

  6. Python入门6 —— 流程控制 - if判断

    代码块: 1.代码块指的是同一级别的代码,在python中用缩进相同的空格数(除了顶级代码块无任何缩进之外,其余代码块都是在原有的基础上缩进4个空格)来标识同一级的代码块 2.同一级别的代码块会按照自 ...

  7. python基础之流程控制(1)

    一.分支结构:if 判断 1.什么要有if 判断语句? 让计算机可以像人一样根据条件进行判断,并根据判断结果执行相应的流程. 2.基本结构 单分支结构 # 单分支 if 条件1: 代码1 代码2 代码 ...

  8. Python 基础知识----流程控制

    判断语句 循环语句 嵌套

  9. Python基础之流程控制for循环

    目录 1. 语法 2. for+break 3. for+continue 4. for循环嵌套 1. 语法 while循环可以对任何内容循环,但循环次数不可控 for循环基于容器类型的长度,循环次数 ...

随机推荐

  1. BUAAOO第三单元总结

    JML理论基础 JML规定了一些语法,用这些语法可以描述一个方法,一个类的行为,理论基础是离散数学吧 JML常用语法 前置条件: 使用 require + 表达式 ,表达式一般为布尔表达式 副作用: ...

  2. 【NCRE】三级网络技术 选择题易错点记录(1)

    部分易错点 连接到一个集线器的多个节点不能同时发送数据帧 嵌入式安装插座用来连接双绞线 异步串行端口 PPP 同步串行端口 PPP/HPLC 对于频繁改变位置并使用DHCP获取IP地址的DNS客户端, ...

  3. 弦图及其在 OI 中的现代应用

    八月份的时候得知要填综评表格,综评表格里面又需要一个研究性学习报告,而我连研究性学习课的老师长啥样都不知道.于是我把两份 OI 笔记拼拼凑凑成了这篇文章充当两份研究性学习报告之一(另一份可能更有趣一些 ...

  4. pyqt5 多线程+定时器+读取本地图片

    前言 一个程序界面有多个button 按钮时,单击一个按钮,若此按钮对应的信号正在执行,且还未执行完毕: 此时再次单击另外一个按钮,就会出现假死状态. 这个时候我们就需要使用 多线程去解决 多线程+定 ...

  5. python 第三方库大全

    Python 作为程序员的宠儿,越来越得到人们的关注,使用 Python 进行应用程序开发的越来也多.那么,在 2013 年有哪些流行的 Python 项目呢?下面,我们一起来看下. https:// ...

  6. hdu4885 有 限制的最短路

    题意:       给你起点终点,和一些加油站,和每次加油后的最大行驶距离,问你从起点到终点最少加油次数,要求两点之间必须走直线,见到加油站必须加油,也就是说如果想从a走到b,那么a,b连线上的加油站 ...

  7. Docker Swarm删除节点

    节点上的主机如果想离开的话,可以自己直接执行docker swarm leave 然后你可以发现,原本跑在自己上面的容器被转移到别的容器上了.此时如果在manager节点上docker node ls ...

  8. java线程池实践

    线程池大家都很熟悉,无论是平时的业务开发还是框架中间件都会用到,大部分都是基于JDK线程池ThreadPoolExecutor做的封装, 都会牵涉到这几个核心参数的设置:核心线程数,等待(任务)队列, ...

  9. 实时计算框架:Flink集群搭建与运行机制

    一.Flink概述 1.基础简介 Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算.Flink被设计在所有常见的集群环境中运行,以内存执行速度和任意规模来执行计算.主要特性包 ...

  10. Java常见异常(Runtime Exception )小结

    java.lang.NullPointerException 程序遇上了空指针 UnsupportedOperationException 不支持的操作 IllegalArgumentExceptio ...