元組操作及命名規則練習題

2021-09-13 18:58:03 字數 2270 閱讀 8096

依次接受使用者輸出的3個數,排公升序後列印(四種方法)

轉換int後,判斷大小排序(if…else)

a = int(input('num1'))

b = int(input('num2'))

c = int(input('num3'))

if a>=b:

if c>=a:

print(b,a,c)

elif b>c:

print(c,b,a)

else:

print(b,c,a)

else:

if bc:

print(a,c,b)

else:

print(c,a,b)

可改進之處:

①:可建立列表,利用for迴圈控制輸入個數,接下來利用索引比較大小

nums=

for i in range(3):

a = input('nums')

b = nums

②:可用format函式填充,減少**輸入

nums=

for i in range(3):

使用min排序

nums=

out = none

for i in range(3):

while true:

cur = min(nums)

print(cur)

nums.remove(cur)

if len(nums) == 1:

print(nums[0])

break

使用列表的sort方法

#法三:

a = int(input('num1'))

b = int(input('num2'))

c = int(input('num3'))

n = [a,b,c]

n.sort()

print(n)

冒泡法

氣泡排序(bubble sort): 重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果他們的順序(如從大到小、首字母從a到z)錯誤就把他們交換過來。

走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素已經排序完成。越大的元素會經由交換慢慢「浮」到數列的頂端(公升序或降序排列).

法一(冒泡法簡單實現):

num_list = [

[1,9,8,5,6,7,4,3,2],

[1,2,3,4,5,6,7,8,9]

]nums = num_list[0]

print(nums)

length = len(nums)

count_swap = 0

count = 0

for i in range(length):

for j in range(length-i-1):

count += 1

if nums[j] > nums[j+1]:

tmp = nums[j]

nums[j] = nums[j+1]

nums[j+1] = tmp

count_swap += 1

print(nums,count_swap,count)

法一可優化點:法一情況下,即使某一趟已全部排序完成,也會走完剩餘掃瞄過程,可以加入count_swap,如為0,則認為交換已完成

num_list = [

[1,9,8,5,6,7,4,3,2],

[1,2,3,4,5,6,7,8,9]

]nums = num_list[1]

print(nums)

length = len(nums)

count_swap = 0

count = 0

for i in range(length):

flag = false

for j in range(length-i-1):

count += 1

if nums[j] > nums[j+1]:

tmp = nums[j]

nums[j] = nums[j+1]

nums[j+1] = tmp

flag = true

count_swap += 1

if not flag:

break

print(nums,count_swap,count)

練習題 檔案操作

完成使用者註冊 登陸功能。操作編碼 操作 0 註冊 1 登入 請輸入你要進行的操作編碼 1 提示使用者輸入,使用者名稱和密碼,其中密碼需要輸入2次。提示使用者名稱只能為字母 下劃線和數字 密碼不能超過8位,密碼只能為數字或大小寫字母 2 註冊成功後,賬戶密碼記錄在檔案中 user.txt 內容格式可...

Python列表 字典 元組練習題

一 將下列姓名長度小於2字元的刪除,將寫法不同但名字一樣的名字合併,並按首字母大寫形式輸出。names bob john alice bob alice j bob 答案 names bob john alice bob alice j bob ans ans二 將上題列表中所有重名人員進行計數並以...

Java String練習題及答案

1.編寫程式將 jdk 全部變為大寫,並輸出到螢幕,擷取子串 dk 並輸出到螢幕 編寫程式將 jdk 全部變為大寫,並輸出到螢幕,擷取子串 dk 並輸出到螢幕 public static void main string args 2.編寫程式將string型別字串 test 變為 tset 2.編...