python迴圈練習題
阿新 • • 發佈:2019-01-23
輸出1-100偶數和
for i in range(0,101,2):
print(i,end="\t")
--------------------------------------------------------------------------------------------
輸出10行10列的*
for i in range(1,11): for j in range(1,11): print("*",end="") print()
---------------------------------------------------------------------------------------------------------輸出直角三角形
for i in range(1,7): for j in range(1,i): print("*",end="") print() --------------------------------------------------------------------------------------------------------- 九九乘法表for i in range(1,10): for j in range(1,i): print(j,"*",i,"=",j*i,end="\t") print() ---------------------------------------------------------------------------------------------------------斐波那契數列第一種寫法 a=0 b=1 c=a+b print(a) print(b) while c<1000: print(c) a=b b=c c=a+b 斐波那契數列第二種 a=b=1 print(a,b) for i in range(1,7): print(a+b) c=a #把原來的a賦值給c (把原先的值給存起來) a=b #吧a賦值給第二位數值 b=c+b # 算第三位值 斐波那契數列第三種寫法 a=b=1 print(a,b) for i in range(1,7): print(a+b) a,b=b,a+b# 只有python 可以這麼寫 交換兩個變數的值--------------------------------------------------------------------------------------------- 每個班級有五名學生 分別求每個學生的3科成績的平均值for i in range(1,6): sum=0 for j in range(1,4): socer=input("請輸入第%d個學生第",str(j),"門成績:"%i)#這裡有兩種寫法 一種給 j轉換成字串 另一種是用%d 後面調取 socer=int(socer) sum=sum+socer sum=sum/j print("第",i,"名學生的平均成績是",sum) print() #精簡寫法for i in range(1,6): socer=0 for j in range(1,4): socer+=input("請輸入第%d個學生第",str(j),"門成績:"%i)#這裡有兩種寫法 一種給 j轉換成字串 另一種是用%d 後面調取 print("第",i,"名學生的平均成績是",socer/3) ---------------------------------------------------------------------------------------------------------- 畫小星星for i in range(0,8): for e in range(8,i,-1): print(" ",end='') for j in range(1,i+(i+2)): print("*",end='') print() 簡便寫法for i in range(1,9): print(' '*(8-i),"*"*(2*i-1)) ----------------------------------------------------------------------------------------------------------- 讓使用者輸入一個數, 判斷這個數在1-10之間能否有被整除的數 tag=True a=int(input("請輸入一個數字:")) for i in range(1,11): if i%a==0: tag=False print(i) break if tag==True: print("不存在") python 裡的寫法 a=int(input("請輸入一個數字:")) for i in range(1,11): if i%a==0: tag=False print(i) break else: print("不存在")
for...else: 當迴圈中有break時, 如果沒有則執行if,否則 執行else ------------------------------------------------------------------------------------------------------------- while:迴圈次數不固定 使用while 輸出我要好好學習,如果輸入y則繼續,否則退出 tag='y' while tag=="y": print("我要好好學習") tag=input('是否繼續?y/n') ----------------------------------------------------------------------------------------------------------- 迴圈輸出1-10a=0 while a<11: print(a) a=a+1 ----------------------------------------------------------------------------------------------- 請使用者輸入數字,求和,知道輸出0退出、 sum=0 while True: a=int(input("請輸入數字:")) if a==0: print("退出") break else: sum+=a print("輸入數字的和是",sum)
------------------------------------------------------------------------------------------------------------
有四個數字:1、2、3、4,能組成多少個互不相同且無重複數字的三位數?各是多少? cont=0 for i in range(1,5): for j in range(1,5): for a in range (1,5): if i!=j and j!=a and a!=i: print(i,j,a) cont=cont+1 print(cont) --------------------------------------------------------------- 求1-100內的所有質數: for i in range(2,101): a=True for j in range(2,i-1): if(i%j==0): a=False break if a==True: print(i) 另一種方法for i in range(2,101): j=2 while j<=i: if i%j==0: break j+=1 if j<i: continue else: print(i,end="\t") -------------------------------------------------------- 求兩個數的最小公倍數,和最大公約數
num1=int(input("請輸入第一個數字"))
num2=int(input("請輸入第二個數字"))
for i in range(num1,0,-1):
if num1%i==0 and num2%i==0:
print("最大公約數是",i)
print('最小公倍數是',(num1*num2)/i)
break
--------------------------------------------------------------------------------------------- ========================================
歡迎進入學員管理系統
a.註冊
b.登入
c.退出
d.修改密碼
=========================================
編寫程式,從鍵盤獲取使用者名稱和密碼,然後判斷,如果正確就輸出以下資訊
親愛的xxx,歡迎登入學員管理系統
db={} prompt=''' ======================================== 歡迎進入學員管理系統 a.註冊 b.登入 c.退出 d.修改密碼 ========================================= ''' while True: choice=input(prompt) print('請輸入你的選擇[%s]'%choice) if choice not in ('abcd'): print("輸入有誤請重新輸入") else: if choice =="a": prompt1='新賬戶:' while True: name=input(prompt1) if name in db: prompt1='賬戶已被使用請重新輸入' continue else: break pwd=input('密碼:') db[name]=pwd elif choice=='b': name=input("賬號:") pwd=input("密碼:") password=db.get(name) if password==pwd: print('親愛的%s,歡迎登入學員管理系統'%name) break else: print("請重新輸入") elif choice=="c": print("感謝使用") break elif choice=="d": name = input("請輸入賬號:") pwd = input("請輸入密碼:") password = db.get(name) if password == pwd: pwd1=input("輸入要修改的密碼") db[name]=pwd1 else: input("輸入有誤請重新輸入")