python中if,for,while語
- 2020 年 1 月 14 日
- 筆記
if的用法
if 條件 print() else (當不滿足if條件時) print() 例如 age=input('請輸入年齡') if age >= 18: print('你已經成年,歡迎來酒吧') else: print('未成年,回家寫作業')
elif的用法
if 要判斷的條件: 條件成立時,要做的事 elif 條件2: XXXXXXXXX else: 條件都不成立時,要做的事
elif 和 else都必須和if聯合使用,不能單獨使用 例如:
holiday_name = input('請輸入節日名稱') if holiday_name == '春節': print('吃餃子') elif holiday_name == '元宵節': print('吃元宵') elif holiday_name == '情人節': print('買禮物') else: print('不過節')
if的嵌套
have_ticket = input('請輸入乘客是否有票,有票輸入Ture,無票輸入False') knife_length=input(請輸入刀長) if have_ticket: print('車票檢查通過,準備安檢...') if knife_length > 20: print('刀長度為 %d:超出限定長度,禁止入內' %knife_length) else: print('刀長度為 %d:未超出限定長度,允許入內' %knife_length) else: print('請先買票')
if綜合練習題
import random # a = random.randint(1,10) # print(a) #1.從控制台輸入要出的拳 player = int(input('請輸入您要出的拳:石頭1/剪刀2/布3:')) #2.電腦出拳 computer = random.randint(1,3) print(computer) #3.比較勝負 if ((player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1)): print('玩家勝利') elif player == computer: print('平局') else: print('玩家失敗')
for循環語句的使用
for 變數 in range(10): 循環需要執行的程式碼 練習: #求1~100之間所有偶數之和
sum = 0 for i in range(2,101,2): ##第一個2表示從2開始,101表示截止101,第二個2表示步長為2 sum += i print(sum)
#求1~100之間所有奇數之和
sum = 0 for i in range(1,101,2): ##第一個2表示從2開始,101表示截止101,第二個2表示步長為2 sum += i print(sum)
####求x的階乘
num = int(input('Num:')) res = 1 for i in range(1,num + 1): res *= i print('%d的階乘為:%d' %(num,res))
for循環練習題:
用戶登錄需求: 1.輸入用戶名和密碼; 2.判斷用戶名和密碼是否正確(name='root',passwd='westos') 3.登錄僅有三次機會,超過3次會報錯
for i in range(3): name = input('用戶名:') passwd = input('密碼:') if name == 'root' and passwd == 'westos': print('登錄成功') break else: print('登錄失敗') print('您還剩餘%d次機會' %(2 - i)) else: print('登錄次數超過三次,請稍後登錄')
while循環及死循環
while 條件(): 條件滿足時,做的事情1 條件滿足時,做的事情2 。。。。。。。。 例如:
#1.定義一個整數變數,記錄循環的次數 i = 1 #2.開始循環 while i <= 3: #希望循環內執行的程式碼 print('hello python') #處理計數器 i += 1
輸出結果為列印三次hello python while死循環
#定義死循環
while True: ###當條件成立時,也可以用其他的成立的條件替換true print('hello python')####當條件成立時要執行的程式碼
while循環練習題1: 0-100 之間的整數求和
#1.定義一個整數記錄循環的次數 i = 0 #2.定義最終結果的變數 result = 0 3.開始循環 while i <= 100: print(i) #4.每次循環都讓result和i這個計數器相加 result += i #5.處理計數器 i += 1 print('0~100之間的數字求和結果為 %d' %result)
while循環練習題2: 用戶登錄系統,用戶名為root密碼為westos,當用戶名或密碼輸入錯誤時會報錯,總共三次機會,每次錯誤提示用戶剩餘幾次機會
for i in range(3): trycount = 0 while trycount < 3: name = input('用戶名:') passwd = input('密碼:') if name == 'root' and passwd == 'westos': print('登錄成功') break else: print('登錄失敗') print('您還剩餘%d次機會' %(2 - trycount)) trycount += 1 else: print('登錄次數超過三次,請稍後登錄')
while嵌套
練習題: 1.在控制台連續輸出五行*,每一行星號數量依次遞增
* ** *** **** *****
#1.定義一個行計數器 row = 1 while row <= 5: #定義一個列計數器 col = 1 #開始循環 while col <= row: print('*',end='') col += 1 print('') row += 1
2.猜數字遊戲: 1.系統隨機生成一個1~100的數字; 2.用戶共有5次機會猜; 3.如果用戶猜測數字大於系統給出的數字,列印"too big" 4.如果用戶猜測數字小於系統給出的數字,列印"too small" 5.如果用戶猜測的數字等於系統給出的數字,列印"恭喜中獎", 並退出循環
import random randomnum=random.randint(1,100) for i in range(5): usernum=int(input('請輸入數字:')) if usernum == randomnum : print('恭喜中獎') break elif usernum > randomnum: print('too big') else: print('too small') print('你還剩下%d次機會' %(5-i)) else: print('你沒有中獎')