1. 程式人生 > 其它 >python流程控制之if判斷、for迴圈、while迴圈

python流程控制之if判斷、for迴圈、while迴圈

流程控制

順序結構:
	程式碼自上而下依次執行(我們之前所寫的程式碼都是順序結構)
分支結構:
	程式碼執行到某個節點之後根據條件的不同執行不同的程式碼(if判斷)
迴圈結構:
	程式碼執行到某個節點之後一直重複執行某一段程式碼直到結束(while、for)

必備知識

	程式碼縮排
		在python中使用縮排來表示程式碼的從屬關係
		一般情況下我們採取四個空格來表示縮排(推薦)

		並不是所有的程式碼都可以擁有子程式碼

		同屬於一個關鍵字的子程式碼必須要保持相同的縮排量
	ps:可以簡單的記憶遇到冒號下面的程式碼必縮排

if判斷

if判斷語句格式:
1.if 條件:
	條件成立之後才會執行的程式碼
		#如果女孩子的年齡小於30歲 列印小姐姐
			# girl_age = 40
			# if girl_age < 30:  # if判斷
			#     print('小姐姐好')
			
2.if 條件:
	程式碼1
	程式碼2
	...
  else:
	程式碼1
	程式碼2
	...
	如果條件成立則走if的子程式碼
	如果條件不成立則走else的子程式碼
	# 如果女孩子的年齡小於30歲 列印小姐姐 否則列印阿姨
		# girl_age = 68
		# if girl_age < 30:
		#     print('小姐姐好')
		# else:
		#     print('阿姨')

3.if 條件1:
	程式碼1
	程式碼2
	...
   elif 條件2:
	程式碼1
	程式碼2
	...
    else:
	程式碼1
	程式碼2
	...
	條件1成立 執行if的子程式碼 elif和else都不執行
	條件2成立(說明條件1沒有成立) 執行elif的子程式碼 if和else都不執行
	如果條件都不成立 則走最後的else子程式碼 if和elif都不執行
	elif可以寫多個
	# 如果女孩子的年齡小於30歲 列印小姐姐 小於40隨列印大姐姐 小於50歲阿 否則躺平
		# girl_age = 28
		# if girl_age < 30:
		#     print('小姐姐')
		# elif girl_age < 40:
		#     print('阿姨我不想努力了')
		# elif girl_age < 50:
		#     print('老寶貝')
		# else:
		#     print('躺平')
		"""
	條件可以是一個,也可以是多個
	if可以巢狀
	if 條件:
		if 條件:
	#其他的跟if語句一樣

while迴圈

while 條件:
	迴圈體程式碼1
	迴圈體程式碼2
	...
當條件成立的情況下 會依次執行while子程式碼
子程式碼執行結束之後再次返回到條件處判斷條件是否成立 如果成立繼續執行
如果不成立則結束迴圈
		# 迴圈列印1-10 除了數字7
		1.
			# count = 1
			# while count < 11:
			#     if count == 7:
			#         count += 1
			#         # 跳過本次迴圈 開始下一次迴圈
			#         continue
			#     print(count)
			#     # 讓count自增1
			#     count += 1
		2.
			# count = 1
			# while count < 11:
			#     if count == 7:
			#         break  #結束離他最近的一個迴圈 本層迴圈
			#     print(count)
			#     # 讓count自增1
			#     count += 1
			# else:
			#     print('當while沒有被break主動結束的情況下自動結束了 則會走else')
	# 全域性標誌位和while巢狀
		# flag = True  #全域性標誌符
		# while flag:
		#     # 1.獲取使用者的使用者名稱和密碼
		#     username = input('username>>>:')
		#     password = input('password>>>:')
		#     # 2.判斷使用者名稱和密碼是否正確
		#     if username == 'jason' and password == '123':
		#         print('登入成功')
		#         # 迴圈結構
		#         while flag:
		#             command = input('command>>>:')
		#             if command == 'q':
		#                 flag = False
		#             print('正在執行您的命令:%s'%command)
		#     else:
		#         print('使用者名稱或密碼錯誤')

for迴圈

注意:
	for迴圈能夠做到的事情while迴圈都可以做到
	但是for迴圈使用起來比while更加的簡單快捷
for 變數名 in 可迭代物件:  # 看成是 字串 列表 字典等型別
for迴圈的迴圈體程式碼

	ps:變數名如果你真的不知道起什麼 一般都是以
			i、j、item

#range
	range(起始位置,終止位置)
	顧頭不顧尾
	在python3中 類似於是一個老母豬 
		需要值的時候才會給你 不需要的時候就不給    節省記憶體
	在python2中 直接生成一個列表
		不節省記憶體
		xrange(10)  等價於 python3裡面的range()
	# break
		# for i in [1,2,3,4,5,6]:
		#     if i == 4:
		#         break  # 結束本層for迴圈  與while+break一致
		#     print(i)

	# continue
		# for i in [1,2,3,4,5,6]:
		#     if i == 4:
		#         continue  # 結束本次for迴圈  與while+continue一致
		#     print(i)

	# else  for迴圈正常結束之後走else 否則不走  與while+else一致
		# for i in range(5):
		#     if i == 3:
		#         break
		#     print(i)
		# else:
		#     print('快結束了')
	# 九九乘法表
		for i in range(1,10):
			for j in range(1,i+1):
				print('%s*%s=%s'%(i,j,i*j),end=' ')
			print()