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
总结
来源:https://www.cnblogs.com/white-list/p/16838504.html
本站部分图文来源于网络,如有侵权请联系删除。