題目031:請輸入星期幾的第一個字母來判斷一下是星期幾,如果第一個字母一樣,則繼續判斷第二個字母。
'''
def tm031():
? ? '''
? ? 【個人備注】:按照題意要求實現了就行
? ? '''
? ? week = ['monday','tuesday','wednesday','thursday','friday','saturday','sunday']
? ? inp = ''
? ? while 1:
? ? ? ? arr = []
? ? ? ? inp = inp+input('請輸入一個字母:')
? ? ? ? for day in week: ? ? ? ? ? ? ? ? ? ?# 挑出滿足輸入的星期
? ? ? ? ? ? if inp==day[:len(inp)]:
? ? ? ? ? ? ? ? arr.append(day)
? ? ? ? if len(arr)==1: ? ? ? ? ? ? ? ? ? ? # 只剩一個,說明唯一,可以輸出結果
? ? ? ? ? ? print('以%s開頭的單詞是:%s'%(inp,arr[0]))
? ? ? ? ? ? inp=''
? ? ? ? elif len(arr)==0: ? ? ? ? ? ? ? ? ? # 一個都沒有說明輸錯了,需要重新輸入
? ? ? ? ? ? print('沒有%s開頭的單詞'%inp)
? ? ? ? ? ? inp=''
?
?
'''
題目032:按相反的順序輸出列表的值。
'''
def tm032():
? ? '''
? ? 【個人備注】:之前已經做過了
? ? '''
? ? # 方法一
? ? a = [1,2,3,4,5]
? ? print(a[::-1])
? ? # 方法二
? ? a = [1,2,3,4,5]
? ? a.reverse()
? ? print(a)
? ? # 方法三
? ? a = [1,2,3,4,5]
? ? a.sort(reverse=True)
? ? print(a)
?
?
'''
題目033:按逗號分隔列表。
'''
def tm033():
? ? '''
? ? 【個人備注】:一開始沒看懂題目項干啥,直接print(list)不就是逗號分隔么
? ? 實際上題目的意思是,合并列表項,以逗號為間隔
? ? '''
? ? a = ['1','2','3','4','5']
? ? print(','.join(a))
?
?
'''
題目034:練習函數調用。
'''
def tm034():
? ? '''
? ? 【個人備注】:沒頭沒尾的一個題,之前的遞歸實際上就是函數的調用了。不寫了。
? ? '''
? ? pass
?
?
'''
題目035:文本顏色設置。
'''
def tm035():
? ? '''
? ? 【個人備注】:感覺不像是不是python的題。
? ? '''
? ? pass
?
?
'''
題目036:求100之內的素數。
'''
def tm036():
? ? '''
? ? 【個人備注】:素數就是質數
? ? '''
? ? arr = [2]
? ? for i in range(3,100):
? ? ? ? for j in arr:
? ? ? ? ? ? if i%j==0:
? ? ? ? ? ? ? ? break
? ? ? ? else:
? ? ? ? ? ? arr.append(i)
? ? print(arr)
?
?
'''
題目037:對10個數進行排序。
'''
def tm037():
? ? '''
? ? 【個人備注】:實際上考察的是排序。揣測了一下題意,寫了兩種解法
? ? '''
? ? # 方法1,python解法
? ? a = [1,5,7,3,2,4,9,10,6,8]
? ? a.sort()
? ? print(a)
? ? # 方法2,常規解法
? ? a = [1,5,7,3,2,4,9,10,6,8]
? ? b = [a[0]]
? ? for num in a[1:]:
? ? ? ? for i in range(len(b)):
? ? ? ? ? ? if num<b[i]:
? ? ? ? ? ? ? ? b.insert(i,num)
? ? ? ? ? ? ? ? break
? ? ? ? else:
? ? ? ? ? ? b.append(num)
? ? print(b)
?
?
'''
題目038:求一個3*3矩陣主對角線元素之和。
'''
def tm038():
? ? '''
? ? 【個人備注】:思路比較簡單,n*n的矩陣都可以用這個求解。
? ? '''
? ? a = [[1,2,3],[4,5,6],[7,8,9]]
? ? s = 0
? ? n = len(a)
? ? for i in range(n): # 左上到右下一條線
? ? ? ? s+=a[i][i]
? ? for i in range(n): # 右上到左下一條線
? ? ? ? s+=a[i][n-i-1]
? ? if n%2==1: ? ? ? ? # 如果是奇數,刪掉重復計算的中間點
? ? ? ? s-=a[n//2][n//2]
? ? print(s)
?
?
'''
題目039:有一個已經排好序的數組。現輸入一個數,要求按原來的規律將它插入數組中。
'''
def tm039():
? ? '''
? ? 【個人備注】:037題中剛寫過。
? ? '''
? ? aaa = [1,5,8,14,28,39,60,89,134,324,612,900]
? ? b = 555
? ? for a in aaa:
? ? ? ? if b<a:
? ? ? ? ? ? aaa.insert(aaa.index(a),b)
? ? ? ? ? ? break
? ? else:
? ? ? ? aaa.append(b)
? ? print(aaa)
?
?
'''
題目040:將一個數組逆序輸出。
'''
def tm040():
? ? '''
? ? 【個人備注】:就是032題,重復了。
? ? '''
? ? pass