首页 > 编程语言 >python基础-流程控制

python基础-流程控制

时间:2022-10-30 11:55:07浏览次数:58  
标签:语句 控制 name python 流程 range num print 循环

1.逻辑

  逻辑判断:对于一件事情正确与否的判断,python中用布尔类型真(True)、假(False)做区分;

  根据判断结果的不同去完成的不同操作,就是我们的业务逻辑;

  对于条件是否满足的判断语句,就是条件语句;

  一个逻辑语句是由条件语句+业务语句组成的。

 

2.if语句

  判断一个命题的真实性,如果命题为真,则执行if的逻辑语句;

name_list = []
if name_list:
    print('可以打印')  # 条件语句为假,无输出

  条件语句中可以使用逻辑关系,or、and、not

name_list = []
name = '小王'
if not name_list and name:
    print('可以打印')  # 可以打印

if name_list or name:
    print('可以打印')  # 可以打印

  else语句,是当if语句不满足时所执行代码块的入口;

  添加else语句后,当条件语句判断为假时,可以走else后的业务逻辑;

  else模块是非必须的,可以按需添加;

if 5-5:
    print('0不是对应False')
else:
    print('0对应False')
# 0对应False

  elif (或者如果),对于命题的非第一次的多种判断,每一种判断条件对应一组业务代码;

  是对于首次if判断不满足时,其它条件的判断语句;

num = -1
if num >= 10:
    print('num大于或等于10')
elif 5 <= num < 10:  # 条件语句的数字区间可以直接这样写
    print('num在5-10之间')
elif 0 <= num < 5:
    print('num在0-5之间')
else:
    print('num小于0')

# num小于0

 

3.for循环

  循环:周而复始的变化或运动;

  python中循环的操作也叫做遍历;

  for循环可以将列表、字典、元组、字符串中的元素按顺序进行遍历;

  for item in iterable:

    print(item)            # item就是itertable可遍历对象中的每一个元素;每一个元素遍历后就退出for循环;

for i in 'python':
    print(i)
'''
p
y
t
h
o
n
'''
# 可以和if语句结合使用
for num in [1, 2, 3, 4, 5, 6]:
    if num % 2 == 0:
        print(num)
'''
2
4
6
'''
# for 后的item可以指定为多个变量,比如要遍历字典的items()
dict_test = {'name': 'll', 'age': 23}
for key, value in dict_test.items():
    print(key, value)
'''
name ll
age 23
'''

  python内置函数range() ,返回的是一个一定范围的可迭代对象,元素为整型,可循环;

  for item in range(start, stop, step=1)  包含start、不包含stop,step为数字间隔;

l = range(1, 6)
print(l)  # range(1, 6)
print(type(l))  # <class 'range'>

# range() 只传一个参数,表示默认从0开始,stop值为指定的值
for i in range(6):
    print(i)
'''
0
1
2
3
4
5
'''


r = range(1, 10, 2)
print(r[3:5])  # range(7, 11, 2)


for i in range(7, 11, 2):
    print(i)
'''
7
9
'''
for i in range(7, 10, 2):
    print(i)
'''
7
9
'''

  else在循环中的使用,只有在for循环正常退出时,else后的语句才被执行;

for i in range(3):
    print(i)
else:
    print('for循环结束了')
'''
0
1
2
for循环结束了
'''

  嵌套for循环,for循环体内再增加一个for循环;

for i in range(3):
    print(i)
    print('--------')
    for j in range(4):
        print(j)
    print('========')
'''
0
--------
0
1
2
3
========
1
--------
0
1
2
3
========
2
--------
0
1
2
3
========
'''

for i in range(3):
    for j in range(4):
        print(i+j, end='')  # 012312342345

 

4.while循环

  以一定的条件为基础的循环,条件满足则无限循环,条件不满足则退出循环;

count = 1
while count < 5:
    print(count, end='')
    count += 1
# 1234

# 可以用while循环替代for对列表的遍历
list_test = ['python', 'go', 'java']
index = 0
while index < len(list_test):
    print(list_test[index], end=',')
    index += 1
# python,go,java,

# 用while循环计算1-100累加计算
num = 1
total = 0
while num < 101:
    total += num
    num += 1
print(total)  # 5050

# 用for循环计算1-100累加计算
total_new = 0
for i in range(101):
    total_new += i
print(total_new)  # 5050

# 计算1-1000奇数和
num = 0
total_n = 0
while num < 1001:
    if num % 2 != 0:
        total_n += num
    num += 1
print(total_n)  # 250000

  continue和break

  在循环体中遇到continue时,会停止本次循环,进行下一次循环;

  break可以使循环停止;

# 找出所有男同学
student_list = [
    {'name': 'll', 'sex': '男'},
    {'name': 'uu', 'sex': '女'},
    {'name': 'tt', 'sex': '男'},
]
man = []
for stu in student_list:
    if stu.get('sex') == '女':
        continue
    man.append(stu)
print(man)  # [{'name': 'll', 'sex': '男'}, {'name': 'tt', 'sex': '男'}]

# 打印到指定数字
for i in range(10):
    if i == 4:
        break
    print(i)
else:
    print('循环已退出')  # 可以看到break导致循环停止,else后的语句也不会输出
'''
0
1
2
3
'''
for i in range(10):
    print(i)
else:
    print('循环已退出')
'''
0
1
2
3
4
5
6
7
8
9
循环已退出
'''
# 嵌套循环,break只作用于自己循环内
for i in range(3):
    for j in range(4):
        if j == 3:
            break
        print(i+j, end='')
# 012123234
# 九九乘法表
for i in range(1, 10):
    for j in range(1, i+1):
        print(f'{j}x{i}={i*j}', end=' ')
    print()
'''
1x1=1 
1x2=2 2x2=4 
1x3=3 2x3=6 3x3=9 
1x4=4 2x4=8 3x4=12 4x4=16 
1x5=5 2x5=10 3x5=15 4x5=20 5x5=25 
1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36 
1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49 
1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64 
1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81
'''
i = 1
while i <= 9:
    j = 1
    while j <= i:
        print(f'{j}x{i}={i*j}', end=' ')
        j += 1
    i += 1
    print()
'''
1x1=1 
1x2=2 2x2=4 
1x3=3 2x3=6 3x3=9 
1x4=4 2x4=8 3x4=12 4x4=16 
1x5=5 2x5=10 3x5=15 4x5=20 5x5=25 
1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36 
1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49 
1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64 
1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81 
'''
# 求100以内,能被3或能被7整除、且不能同时被3和7整除的数字
# 不能同时被3和7整除,即不能被21整除的数
num_list = []
for i in range(101):
    if i % 3 == 0 or i % 7 == 0:
        if i % 21 != 0:
            num_list.append(i)
print(len(num_list))  # 39

 

总结

  

标签:语句,控制,name,python,流程,range,num,print,循环
From: https://www.cnblogs.com/white-list/p/16838504.html

相关文章

  • Python 根据两个字段排序 中文排序 汉字排序 升序 降序
    Python3写法代码#-*-coding:utf-8-*-#需求:年龄倒序,姓名正序fromitertoolsimportchainfrompypinyinimportpinyin,StyleclassStudent:def__init__(self,na......
  • Nikon Camera Control Pro 2 for Mac/win(相机远程控制软件)
    你是摄影爱好者吗?经常户外拍照的朋友应该都在用相机远程控制软件,这里推荐CameraControlPro,它可以对与计算机相连的尼康数码单反相机的大多数功能进行远程控制。支持新型......
  • HCIA-ICT实战基础08-访问控制列表ACL原理与配置
    HCIA-ICT实战基础-访问控制列表ACL原理与配置目录ACL技术概述ACL的基本概念及其工作原理ACL的基础配置及应用ACL技术概述技术背景:需要一个工具实现流量过滤ACL是......
  • HCIA-ICT实战基础07-访问控制列表ACL进阶
    HCIA-ICT实战基础-访问控制列表ACL进阶目录二层ACL技术及配置高级ACL的扩展使用方法及使用场景1二层ACL技术及配置1.1二层ACL概念使用报文的以太网帧头来定义规则,......
  • python 内部类调用相关
     内部类classMyOuter:age=18def__init__(self,name):self.name=nameclassMyInner:def__init__(self,inner_name):......
  • python精确计算浮点数
    因为二进制计算的问题,部分浮点数不能精确计算,如>>>1.1+2.23.30000000000003可以使用round(number,保留位数)或decimal包fromdecimalimportDecimala=Decima......
  • python导入包的注意事项
    模块导入使用import关键字。模块导入主要有以下形式importrequetsfromrequestsimportgetfromrequetsimport*创建的文件夹中只有包含__init.py__文件才......
  • python 封装 多态 继承 重写
    面向对象的三大特征封装:提高程序的安全性继承:提高代码的复用性(继承包括重写)多态:提高程序的可扩展性和可维护性 三大特征的实现:封装:将数据(属性)和......
  • Python 多重继承时metaclass conflict问题解决与原理探究
    背景最近有一个需求需要自定义一个多继承abc.ABC与django.contrib.admin.ModelAdmin两个父类的抽象子类,方便不同模块复用大部分代码,同时强制必须实现所有抽象方法,没想按想......
  • 重建控制文件出现ORA-01159、ORA-01517告警
    问题描述:将windows上的数据文件、控制文件拷贝到linux相应目录后,重建控制文件出现ORA-01159、ORA-01517告警,如下所示:源端:windows200332位+oracle10.2.0.432位目标端:ce......