python基础教程:3种控制流语句(if,for,while)

枫铃3年前 (2021-10-03)Python250

1.if条件语句

(1)if条件语句 (比较/逻辑/成员运算均可)

# 方法1

if 条件1# 条件1成立执行的代码1
elif 条件2# 条件2成立执行的代码2
elif 条件3# 条件3成立执行的代码3
else# 条件不成立执行的代码

# 方法2

if 条件:
           子语句
else:
           子语句

2.for语句

(1)遍历一个常量

for item in 某个数据类型(字符串,列表,元组,字典,集合):
  代码块

(2)循环次数

for  i  in range(起始值,结束值,步长): # 取头不取尾
    代码块
  • 遍历字典:得到字典的键
for k in dic.keys():
  • 遍历字典的值:dic.values()
for v in dic.values():
  • 遍历字典的键值对:dic.items(),遍历出来的是元组
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
for item in dic.items(): # item返回的结果是元组 (遍历出来的是元组)

# 方法2
for k,v in dic.items()# 元组格式才可以多变量,字典、列表、字符串不可以
  # k--> 接收键
  # v--> 接收值
  • 补充:元组拆包
a,b = (111,222)
print(a) # 111
print(b) # 222

(3)for与break,continue,else

for-else: for循环正常结束会运行,else下面的代码,如果循环非正常结束(break终止循环),则不会运行

user = [{"name":"py01","pwd":"123"},{"name":"py02","pwd":"123"},{"name":"py03","pwd":"123"},{"name":"py04","pwd":"123"}]
# 查询“py03”这个用户是否在列表中
for item in user:
  if item["name"] == "py03":
    print("py03在user中")
    break
else:
  print("py03不在user中")

(4)for循环嵌套使用

# for 循环嵌套使用
for i in range(1,6): # 行数
  for j in range(1,i+1):
    print(j,end=' ')
  print('')

3.while语句

先判断while后面的条件表达式是否成立;如果成立,执行代码块,否则不进入代码块;执行完毕后,继续判断,直到不进入代码块为止

while 条件表达式(逻辑,成员,比较,空数据,布尔值): # 空数据==False,非空数据==True
  代码块/循环体(条件为True执行操作)  
  # 如果条件一直成立,则一直循环做条件满足的事情,直到条件不成立。结束循环
  • break:终止循环,跳出循环体
  • continue:中止当前本来循环,开启下一轮循环
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
while True:
    s = (input("Enter something:"))
    if s == 'quit':
        break
    if len(s) < 3:
        print('Too small')
    continue
    print('输出字符串的长度',len(s))
print('Done')

输出结果为:

>>> ================================ RESTART ================================
>>> 
Enter something:12
Too small
Enter something:123
Enter something:1234
Enter something:quit
Done

(1) while-else:while条件不成立的时候执行

n = 0
while n<10:
  print(n)
  if n == 5:
    break
  n += 1
else:
  print('while循环对应的else')

(2)while-(if-else)组合

#找出10-12岁的小女孩的总人数,询问10次

i = 10
count = 0
while i>0:
    sex = input('请问你的性别是:')
    if sex == '女':
        age = int(input('请问你多大:'))
        if 10<=age<=12:
            print('恭喜你,你符合条件')
            count+=1
        else:
            print('很遗憾,不符合条件')
    else:
        print('很遗憾,不符合条件')
    i-=1
print("10-12岁小女孩的总人数为:", count)

(3)综合应用

例如:password = {'admin':'123321','user1':'123456'}
1.设计一个登录程序,不同的用户名和对应密码存在一个字典里面,输入正确的用户和密码去登录
2.首先输入用户名,如果用户名不存在或为空,则一直提示输入正确的用户名
3.当用户名正确时,提示去输入密码,如果密码跟用户名不对应,提示密码错误请重新输入
4.如果密码输入错误超过3次,中断程序运行
5.当输入密码错误时,提示还有几次机会
6.用户名和密码都输入成功的时候,提示登录成功

loginMessage = {'username1': '1234','username2': '1234','username3': '1234','username4':'1234','username5': '1234'}

count = 0 # 密码输入次数
while True:
    username = input('请输入用户名:')
    if username in loginMessage.keys():
        while count <= 3:
            pwd = input('请输入密码:')
            if pwd == loginMessage[username]:
                print("登录成功!")
                break
            else:
                count+=1
                print("密码错误,请重新输入")
                print("还有{0}次机会修改密码".format(3 - count))
        break

    elif username not in loginMessage.keys() or username =='':
        print("用户名错误,请重新输入")

相关文章

利用python同步windows和linux文件

写python脚本的初衷,每次在windows编辑完文件后,想同步到linux上去,只能够登录服务器,...

爬虫基本原理

爬虫基本原理 一、爬虫是什么? 百度百科和维基百科对网络爬虫的定义:简单来说爬虫就是抓取目标网站内容的工具,一般是根据定义的行...

Django 函数和方法的区别

函数和方法的区别 1、函数要手动传self,方法不用传 2、如果是一个函数,用类名去调用,如果是一个方法...

Django 知识补漏单例模式

单例模式:(说白了就是)创建一个类的实例。在 Python 中,我们可以用多种方法来实现单例模式&#x...

Django基础知识MTV

Django简介 Django是使用Python编写的一个开源Web框架。可以用它来快速搭建一个高性能的网站。 Django也是一个MVC框架。但是在Dj...

Python mysql 索引原理与慢查询优化

一 介绍 为何要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。