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.uj5u.com/houduan/523149.html
標籤:Python
上一篇:xadmin的使用
