1. 程式人生 > >python迴圈練習題

python迴圈練習題

 輸出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)
------------------------------------------------------------------------------------------------------------
有四個數字:1234,能組成多少個互不相同且無重複數字的三位數?各是多少?

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("輸入有誤請重新輸入")