Python練習題

# 做者:IT小學生蔡坨坨
# 時間:2020/12/6 17:08

# 1.提醒用戶輸入本身的英文名字,而後保存到字典中(以name爲key),
# 將用戶輸入的英文名字翻轉,繼續保存到剛纔的字典中(以new_name爲key),
# 將字典中用戶的正常的英文姓名賦值給變量real_name,
# 告知客戶「您的英文名字是:」 + 變量,「您的英文名字翻轉是:」 + 字典裏獲取

name = input('請輸入您的英文名字:')
dic = {'name': name}
new_name = name[::-1]
dic['new_name'] = new_name
real_name = dic['name']
print('"您的英文名字是:%s"' % real_name, ',''"您的英文名字翻轉是:%s"' % dic['new_name'])

# 運行結果:
# 請輸入您的英文名字:heson
# "您的英文名字是:heson" ,"您的英文名字翻轉是:noseh"
# -*- coding:utf-8 -*-
# 做者:IT小學生蔡坨坨
# 時間:2020/12/6 17:24

# 2.提醒用戶依次輸入數學、語文、英語、綜合四門的成績,按照輸入的成績排序,告訴用戶「您的最高的一門成績是:」xx (不用告訴用戶是哪一科)
math = int(input('請輸入數學成績:'))
chinese = int(input('請輸入語文成績:'))
english = int(input('請輸入英語成績:'))
comprehensive = int(input('請輸入綜合成績:'))
ls = [math, chinese, english, comprehensive]
# 排序方法1,sorted()函數返回一個新的list
print("您的最高的一門成績是:", sorted(ls)[-1])
# 排序方法2,sort()函數對已存在的列表ls進行操做
# ls.sort()
# print("您的最高的一門成績是:", ls[-1])

# 運行結果
# 請輸入數學成績:90
# 請輸入語文成績:88
# 請輸入英語成績:85
# 請輸入綜合成績:80
# 您的最高的一門成績是: 90
# -*- coding:utf-8 -*-
# 做者:IT小學生蔡坨坨
# 時間:2020/12/6 18:03

# 3.使用input讓用戶依次輸入兩個數字, 計算兩個數字的和並顯示.
num1 = float(input('請輸入第一個數字:'))
num2 = float(input('請輸入第二個數字:'))

sum1 = num1 + num2
print('兩個數字的和爲:', sum1)

# 運行結果:
# 請輸入第一個數字:10
# 請輸入第二個數字:99.99
# 兩個數字的和爲: 109.99
# -*- coding:utf-8 -*-
# 做者:IT小學生蔡坨坨
# 時間:2020/12/6 18:08

# 4.用python實現冒泡算法,給你一個包含若干值的列表,將他們從小到大排序輸出(不能用sort或者sorted,本身用代碼實現)
# eg:
# maopao([2,1,8,4,3,6])
# 輸出結果:[1,2,3,4,6,8]
# 冒泡排序(Bubble Sort),是一種計算機科學領域的較簡單的排序算法。它重複地走訪過要排序的元素列,
# 依次比較兩個相鄰的元素,若是順序(如從大到小、首字母從Z到A)錯誤就把他們交換過來。


def bubble_sort(ls):
    # 檢測列表的數據個數
    n = len(ls)  # n=6
    # i爲數據排序的輪次
    # 第一輪:i=0
    for i in range(n - 1):
        # j爲列表數據的下標
        # 第一輪:①j=0 ②j=1 ③j=2 ④j=3 ⑤j=4
        for j in range(0, n - i - 1):
            # 比較相鄰兩個數的大小
            # 第一輪:①ls[0]>ls[1]:True ②ls[1]>ls[2]:False ③ls[2]>ls[3]:True ④ls[3]>ls[4]:True ⑤ls[4]>ls[5]:True
            if ls[j] > ls[j + 1]:
                # 相鄰兩個數交換位置
                # 第一輪:①[1,2,8,4,3,6] ②[1,2,8,4,3,6] ③[1,2,4,8,3,6] ④[1,2,4,3,8,6] ⑤[1,2,4,3,6,8],第一輪結束最大值在最右邊
                ls[j], ls[j + 1] = ls[j + 1], ls[j]
    # 輸出排序後的數據列表
    print(ls)


ls = [2, 1, 8, 4, 3, 6]
bubble_sort(ls)
# 運行結果:
# [1, 2, 3, 4, 6, 8]
相關文章
相關標籤/搜索