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

一、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. windows上phpstudy配置memcache

    原文   http://blog.csdn.net/ltx06/article/details/78588448   总的来说,分两步:同时安装memcached软件服务和安装php_memcache ...

  2. Gateway的限流重试机制详解

    前言 想要源码地址的可以加上此微信:Lemon877164954  前面给大家介绍了Spring Cloud Gateway的入门教程,这篇给大家探讨下Spring Cloud Gateway的一些其 ...

  3. Django 模板(Template)

    1. 模板简介 2. 模板语言 DTL 3. 模板继承 4. HTML 转义 5. CSRF 1. 模板简介 作为 Web 开发框架,Django 提供了模板,可以很便利的动态生成 HTML.模版系统 ...

  4. 【cypress】5. 测试本地web应用

    在之前的cypress介绍里曾提到过,cypress虽然也可以测试部署好的应用,但是它最大的能力还是发挥在测试本地应用上. 本章主要内容就是关于如何测试本地web应用的概述: cypress与后台应用 ...

  5. CVPR2021 | 华为诺亚实验室提出Transformer in Transformer

    前言: transformer用于图像方面的应用逐渐多了起来,其主要做法是将图像进行分块,形成块序列,简单地将块直接丢进transformer中.然而这样的做法忽略了块之间的内在结构信息,为此,这篇论 ...

  6. 【cypress】6. cypress的默认文件结构介绍

    通过之前的一些介绍,已经大概其明白cypress是个啥,但是具体使用的细节点还有很多,需要一步步的去学习. 在安装好cypress之后,会生成一个默认项目,这个项目结构里的各个文件夹是干嘛使的呢? 一 ...

  7. 1- MySQL数据库基础快速入门

    我们进行不管是软件开发还是软件测试相关的职业的时候数据库必不可少:下面从数据库的概念开始了解,大家三四天的时间就可以完全掌握数据库的基本用法,然后多练习. 什么是数据,数据库 -数据是数据库中存储的基 ...

  8. 初中级php程序员面试时常见问题整理

    初中级php程序员面试问题收集 感悟 有时候草率给出一个答案,比思而无果更糟糕 php基础 php的数据类型 php数据类型的转换 php魔术方法 php 的trait的概念及特点 php 虚拟类和接 ...

  9. sublime text 快捷键的使用大全

    多行选择后按下ctrl+/ 选择类 Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本. Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑.举个栗子:快速选中 ...

  10. pwn 好的联系网站

    https://pwnable.kr/ https://w3challs.com/challenges/wargame http://overthewire.org/wargames/ http:// ...