9道python基礎練習題

MHyourh發表於2020-12-02

1. 3位整數逆序

num = input("請輸入一個三位整數:")

print(num[::-1])

2. if - else 練習

sex = input('請輸入您的性別(F 或 M): ')
age = int(input("請輸入您的年齡: "))

if sex == "M":
    if age < 30:
        print('young')
    elif age <= 36:
        print('marriageable age')
    else:
        print('old')

elif sex == 'F':
    if age < 25:
        print('young')
    elif age <= 30:
        print('marriageable age')
    else:
        print('old')

else:
    print('wrong')

3. if-else 和 數學計算 練習

'''
遇到問題沒人解答?小編建立了一個Python學習交流QQ群:778463939
尋找有志同道合的小夥伴,互幫互助,群裡還有不錯的視訊學習教程和PDF電子書!
'''
my_str = input("What's the temperature? ")

if my_str[-1] in ['F', 'f']:
    C = round((eval(my_str[0:-1]) - 32) / 1.8, 1)

    print(f"The converted temperature is {C}C.")


elif my_str[-1] in ['C', 'c']:
    F = round(1.8 * eval(my_str[0:-1]) + 32, 1)

    print(f"The converted temperature is {F}F.")

else:
    print("input error my dear.")

4. 迴圈: 檔案讀寫

with open("movie.txt") as f_in:
    with open("out.txt") as f_out:
        for line in f_in:
            # 假設每行資料, 分割符是 ','
            line_list = line.split(',')
            # 時長 Lasting 是最後一列
            if line_list[-1] < 90:
                # 將該行序號寫到 out.txt
                f_out.write(str(line_list[0]))

5.迴圈練習: 親密數

'''
遇到問題沒人解答?小編建立了一個Python學習交流QQ群:778463939
尋找有志同道合的小夥伴,互幫互助,群裡還有不錯的視訊學習教程和PDF電子書!
'''
x = int(input("請輸入一個正整數: "))

for a in range(2, x):
    b = 0
    for i in range(1, a):
        if a % i == 0:
            b += i
    r = 0
    for j in range(1, b):
        if b % j == 0:
            r += j
    if r == a and a < b:
        print(a, b)

6.迴圈: 邏輯判斷

n = int(input('請輸入最大兵力人數: '))

for i in range(n + 1):
    if (i % 3 == 2) and (i % 5 == 1) and (i % 7 == 0):
        print(i, end=' ')

7.列表推導式

num = int(input("請輸入一個 1-100 間的整數: "))

print([i for i in range(1, num + 1) if i % 2 != 0])

8.正規表示式

# 匹配: 首字母為 '數字或下劃線, 其餘字母為 字母,數字,下劃線'
# 遇到問題沒人解答?小編建立了一個Python學習交流QQ群:778463939
# 尋找有志同道合的小夥伴,互幫互助,群裡還有不錯的視訊學習教程和PDF電子書!

import re

my_str = input("請輸入您將要註冊的使用者名稱: ")

ret = re.match(r"[a-z_]?[a-z\d\s_]*", my_str)

print(ret.group())
print(True) if ret else print(False)

9.字典按值排序

import operator

int(input("輸入您要處理的整數個數: "))
num_lst = list(map(int, input("請在一行輸入, 兩兩間用 空格 隔開").split()))

my_dict = {}
for num in num_lst:
    if num not in my_dict:
        my_dict[num] = 1
    else:
        my_dict[num] += 1

items = sorted(my_dict.items(), key=operator.itemgetter(1), reverse=True)
for i, j in items:
    print(str(i) + ' ' + str(j))

相關文章