# 作者: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]