python練習題

1、使用while實現:輸出攝氏溫度與華氏溫度的對照表,要求它從攝氏溫度0度到250度,每隔20度爲一項,對照表中的條目不超過10條。

  • *轉換關係:華氏溫度 = 攝氏溫度 9 / 5.0 + 32**
  • 循環操作:計算攝氏溫度,並輸出對照條目
  • 循環條件:
  • 條目<=10 && 攝氏溫度 <= 250
def xgp():
    t = 1
    w = 0
    while (t <= 10 and w <= 250):
        t = t + 1
        w = w + 20
        s = w*9/5.0+32
        print(w,s,end=" ")
        print()
xgp()
輸出結果如下:
20 68.0 
40 104.0 
60 140.0 
80 176.0 
100 212.0 
120 248.0 
140 284.0 
160 320.0 
180 356.0 
200 392.0 

2、輸入一個4位數,如果各個數字之和大於20,則爲幸運數。

def sw():
    num = int(input("請您輸入四位數的號碼:"))
    print('您輸入的是:'+str(num))
    # 分解四位數,獲取各位數字
    # 獲取個位數字
    gw = num%10
    # 獲取十位數字
    xw = int(num%100/10)
    # 獲取百位數字
    bw = int(num/1000%10)
    # 獲取千位數字
    qw = int(num/1000)
    # 求4個數值的和,並進行判斷, 如果大於20, 則輸出提示: 是幸運數
    if (gw+xw+bw+qw) > 20:
        print('是幸運數字!')
    else:
        print('謝謝參與')
sw()
輸出結果如下:
請您輸入四位數的號碼:9999
您輸入的是:9999
是幸運數字!

3、編寫程序,使用嵌套的if語句,爲小飛制定學習計劃,星期一、星期三、星期五學習編程,星期二、星期四、星期六學習英語,星期日休息。

def xuexi():
    ss = input("今天是周幾:")
    for  i in range(1,8):
            if ss == "週一":
                print("周1學習編程")
                break
            elif ss == "週二":
                print("周2學習英語")
                break
            elif ss == "週三":
                print("周3學習編程")
                break
            elif ss == "週四":
                print("周4學習英語")
                break
            elif ss == "週五":
                print("周5學習編程")
                break
            elif ss == "週六":
                print("周6學習英語")
                break
            elif ss == "週日":
                print("週日放假!!!")
                break
xuexi()
輸出結果如下:
今天是周幾:週一
周1學習編程

4、編寫一個計數器,能夠根據提示輸入兩個操作數和運算符號,計算出結果。

def num():
    a = int(input("請輸入第一個數:"))
    fh = input("+,-,*,/,%:")
    b = int(input("請輸入第二個數:"))
    if fh == "+":
        print("%s%s%s=%s"%(a,fh,b,a+b))
    elif fh == "-":
        print("%s%s%s=%s"%(a,fh,b,a-b))
    elif fh == "*":
        print("%s%s%s=%s"%(a,fh,b,a*b))
    elif fh == "%":
        print("%s%s%s=%s"%(a,fh,b,a%b))
    elif fh == "/":
        if b == 0:
            print("除數不能是0")
        else:
            print("%s%s%s=%s"%(a,fh,b,a/b))
    else:
        print("輸入符號有誤")
num()
輸出結果如下:
請輸入第一個數:1
+,-,*,/,%:+
請輸入第二個數:595
1+595=596

5、猜拳遊戲:預先定義一個數值,根據用戶輸入的數字,分別給出提示:“猜大了”或“猜小了”或“猜對了”,只有3次機會,否則退出程序。

def cai():
    import random
    a = random.randint(1,10)
    i = 0
    while  i < 3:
        s = int(input("請您輸入數字:"))
        if s > a:
            print("猜大了")
            i += 1
        elif s < a:
            print("猜小了")
            i += 1
        else:
            print("恭喜你,答對了!")
            break
        if i == 3:
            x = input("三次都沒對,是否還猜?y/n:")
            if x == 'y' or x == 'Y':
                i = 0
                continue
            elif x == 'N' or x == 'n':
                break
cai()
輸出結果如下:
請您輸入數字:5
猜小了
請您輸入數字:8
猜小了
請您輸入數字:10
猜大了
三次都沒對,是否還猜?y/n:y
請您輸入數字:9
恭喜你,答對了!

6、跑馬燈特效

import os
import time

def main():
    content='免疫靠尿,戒嚴靠揍'
    while True:
        os.system('cls')
        print(content)
        time.sleep(0.2)
        content=content[1:]+content[0]

if __name__ == '__main__':
    main()
輸出結果如下:
免疫靠尿,戒嚴靠揍
疫靠尿,戒嚴靠揍免
靠尿,戒嚴靠揍免疫
尿,戒嚴靠揍免疫靠
,戒嚴靠揍免疫靠尿
戒嚴靠揍免疫靠尿,
嚴靠揍免疫靠尿,戒
靠揍免疫靠尿,戒嚴
揍免疫靠尿,戒嚴靠
免疫靠尿,戒嚴靠揍

7、某人準備去南方旅遊,現在要訂購機票。機票的價格受季節旺季、淡季的影響,頭等艙和經濟艙價格也不同。

假設機票原價爲5000元,4~10月爲旺季,旺季頭等艙打9折,經濟艙打8折;淡季頭等艙打5折,經濟艙打4折。

編寫程序,使用嵌套的if語句,根據出行的月份和選擇的艙位輸出實際的機票價格。

def hxq():
    wj = [4,5,6,7,8,9,10]
    y = int(input("你打算購買幾月份的機票呢?"))
    c = input("你打算坐頭等艙還是經濟艙呢?")
    if y in wj:
        if c == "頭等艙":
            print("請您支付:" + str(5000 * 0.9) + "元")
        if c == "經濟艙":
            print("請您支付:" + str(5000 * 0.8) + "元")
    elif y not in wj and(y > 3 and y < 11):
        if c == "頭等艙":
            print("請您支付:" + str(5000 * 0.5) + "元")
        if c == "經濟艙":
            print("請您支付:" + str(5000 * 0.4) + "元")
        else:
            print("請輸入正確的月份")
hxq()
輸出結果如下:
你打算購買幾月份的機票呢?6
你打算坐頭等艙還是經濟艙呢?經濟艙
請您支付:4000.0元

8、學生管理系統

  • 必須使用自定義函數,完成對程序的模塊化
  • 學生信息至少包含:姓名、年齡、地址,除此以外可以適當添加
  • 必須完成的功能:添加、刪除、修改、查詢、退出

(1)設置函數

# 新建一個列表,用來保存學生所有信息。
card_info = []

# 添加
def add():
    """添加名片的方法"""
    # 插入一張新名片的功能
    # 定義全局變量
    global card_info
    newName = input("請輸入新的學生名字:")
    newSex = input("請輸入新的學生性別(男/女):")
    newPhone = input("請輸入新的學生電話:")
    # 定義新的字典,存儲新名片信息
    newInfo = {}
    newInfo["name"] = newName
    newInfo["sex"] = newSex
    newInfo["phone"] = newPhone

    # 把輸入的新名片添加到列表中
    card_info.append(newInfo)

# 刪除
def delete(info):
    delNum = int(input("請輸入要刪除的序號:")) - 1
    del info[delNum]
# 修改
def modify():
    studentId = int(input("請輸入要修改的序號:")) - 1
    newName = input("請輸入新的學生名字:")
    newSex = input("請輸入新的學生性別(男/女):")
    newPhone = input("請輸入新的學生電話:")
    newInfo = {}
    newInfo["name"] = newName
    newInfo["sex"] = newSex
    newInfo["phone"] = newPhone
    card_info[studentId] = newInfo

# 查詢
def query():
    """查找名片是否存在"""
    flag = 0 # 默認爲0表示沒有此人,1表示有此人
    # 請輸入要查詢的姓名
    find_name = input("請您輸入要查詢的姓名:")
    for card in card_info :
        if find_name == card["name"]:
            print("%s\t%s\t%s"%(card["name"],card["sex"],card["phone"]))
            flag = 1
            break #查到了的話就不查了
    if flag == 0 :
        print("查無此人")

# 遍歷
def ergodic():
    print("=" * 30)
    print("學生信息如下")
    print("=" * 30)
    print("序號    姓名    性別    手機號")
    num = 1
    for tempInfo in card_info:
        print(" %d   %s  %s   %s" % (num, tempInfo["name"], tempInfo["sex"], tempInfo["phone"]))
        num += 1

# 操作菜單
def show_menua():
    print('-------------------------學生信息管理系統----------------------')
    print('1、添加 2、刪除 3、修改 4、查詢 5、遍歷 0、退出')
    print('--------------------------------------------------------------')

(2)調用函數

# 測試學生管理系統的功能
# from student_ sys. CMS import *
import python函數.mokuai.學生管理系統.xs as stu

def main():
    while 1 == 1:
        # 顯示操作菜單
        stu.show_menua()
            # 用戶操作
        key = int(input('請選擇:[0、1、2、3、4、5]:'))
        if key == 1:
            stu.add()
        elif key == 2:
            stu.delete(card_info)
        elif key == 3:
            stu.modify()
        elif key == 4:
            stu.query()
        elif key == 5:
            stu.ergodic()
        elif key == 0:
            exit = input("真的要退出系統嗎?(Yes or No):")
            if exit == "Yes":
                break
            elif exit == "No":
                pass
            else:
                print("輸入有誤,請重新輸入")
        else:
            print("輸入有誤,請重新輸入")

# 調用主函數,運行程序
main()
輸出結果如下:
# 添加
-------------------------學生信息管理系統----------------------
1、添加 2、刪除 3、修改 4、查詢 5、遍歷 0、退出
--------------------------------------------------------------
請選擇:[0、1、2、3、4、5]:1
請輸入新的學生名字:xgp
請輸入新的學生性別(男/女):男
請輸入新的學生電話:17634984710

# 遍歷
-------------------------學生信息管理系統----------------------
1、添加 2、刪除 3、修改 4、查詢 5、遍歷 0、退出
--------------------------------------------------------------
請選擇:[0、1、2、3、4、5]:5
==============================
學生信息如下
==============================
序號    姓名    性別    手機號
 1   xgp  男   17634984710

# 查詢
-------------------------學生信息管理系統----------------------
1、添加 2、刪除 3、修改 4、查詢 5、遍歷 0、退出
--------------------------------------------------------------
請選擇:[0、1、2、3、4、5]:4
請您輸入要查詢的姓名:xgp
xgp 男   17634984710

# 修改
-------------------------學生信息管理系統----------------------
1、添加 2、刪除 3、修改 4、查詢 5、遍歷 0、退出
--------------------------------------------------------------
請選擇:[0、1、2、3、4、5]:3
請輸入要修改的序號:1
請輸入新的學生名字:wsd
請輸入新的學生性別(男/女):男
請輸入新的學生電話:17634984720

# 刪除
-------------------------學生信息管理系統----------------------
1、添加 2、刪除 3、修改 4、查詢 5、遍歷 0、退出
--------------------------------------------------------------
請選擇:[0、1、2、3、4、5]:2
請輸入要刪除的序號:1
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章