题目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