1、请输入星期几的第1个字母,用来判断是星期几,如果第1个字母一样,则继续判断第2个字母,以此类推。
week = ['Sunny','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']
while True:
myStr = input('请输入任意一个字母:')
upMyStr = myStr.upper()
for weekS in week:
if upMyStr == weekS[0]:
if weekS.startswith('M'):
print('星期一')
elif weekS.startswith('W'):
print('星期三')
elif weekS.startswith('F'):
print('星期五')
elif weekS.startswith('T') or weekS.startswith('S'):
secondStr = input('再输入一个字母:')
newStr = upMyStr+secondStr
print(newStr)
for weekStr in week:
if weekStr.find(newStr,0,2) != -1:
if newStr == 'Tu':
print('星期二')
elif newStr == 'Th':
print('星期四')
elif newStr == 'Sa':
print('星期六')
elif newStr == 'Su':
print('星期日')
break
输出的结果如下:
2、接收输入的一行字符,统计出字符串中包含数字的个数。
myStr = input ('请输入任意字符串:')
num = 0
for s in myStr:
num +=1
print(num)
输出结果如下:
3、编写一个程序,计算字符串中子串出现的次数。
str = 'Hello ! How do you want to do'
print(str.count('o'))
输出如下:
这种写法比较简单,还可以扩展一下,添加输入以及换统计的字符
s = str(input('请输入一个字符串:'))
print(s.count('o'))
输出如下:
4、编写一个函数,用于判断用户输入字符串是否由小写字母和数字构成。
def message():
myStr = input('请输入密码,只能为小写字母和数字:')
if myStr.isalnum() and myStr.lower() == myStr:
print('符合要求')
else:
print('不符合要求')
message()
输出如下:
5、已知arr=[1,2,3],输出arr=[3,2,1]
方法一:
arr = [1,2,3,4,5,6]
arr.reverse()
print(arr)
方法二:
arr =[1,2,3]
arr.sort(reverse =True)
print(arr)
输出如下:
6、用户输入n,然后输入n个整数到列表中,列表中的n个整数需要使用冒泡进行排序,并将排序后的结果输出
arr = []
length = int(input("请输入数字的总个数:"))
i = 0
while i < length:
num = int(input("输入第%d个数字:"%(i+1)))
arr.append(num)
i+=1
print("排序前:%s"%arr)
# 对列表排序
for i in range(length):
flag = 0
for j in range(1,length):
if arr[j-1] > arr[j]:
arr[j-1],arr[j] = arr[j],arr[j-1]
flag = 1
if not flag:
break
print("排序后:%s"%arr)
输出结果如下:
7、请编写一个程序,实现删除列表中重复元素的功能。
arr = []
length = int(input("请输入列表的总个数:"))
i = 0
while i < length:
element = input("输入第%d个元素:"%(i+1))
arr.append(element)
i+=1
# 列表转为集合
newList = set(arr)
print(newList)
输出如下:
8、假设有两个3×3的矩阵,请编写一个程序,计算这两个矩阵的和并输出。
def add(a, b):
# 下面两行保证输入的a和b是维数相同的矩阵,根据实际情况不要也可以
assert (len(a) == len(b))
assert (all([len(a[i]) == len(b[i]) == len(a[0]) for i in range(len(a))]))
i, j = len(a), len(a[0])
c = [[0] * j] * i
for m in range(i):
for n in range(j):
c[m][n] = a[m][n] + b[m][n]
return c
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
b = [[9, 8, 7], [6, 5, 4], [3, 2, 1]]
c = add(a, b)
print(c)
输出如下:
9、请编写一个程序,使用字典存储学生信息,学生信息包括学号和姓名,请根据学生学号从小到大输出学生的信息
dic = {}
i=0
while i<3:
number = input("输入学生学号:")
name = input("输入学生姓名:")
dic.__setitem__(number,name)
i+=1
print("排序前:%s"%dic)
def dict2list(dic:dict):
''' 将字典转化为列表 '''
keys = dic.keys()
vals = dic.values()
lst = [(key, val) for key, val in zip(keys, vals)]
return lst
new = sorted(dict2list(dic), key=lambda x:x[0], reverse=False)
print("排序后:%s"%new)
输出如下:
10、已知一个列表存储了多个整数,请编写函数,删除列表中的素数
arr1 = [12,3,37,7,91,67,27,45,6]
arr2 = [12,3,37,7,91,67,27,45,6]
def delPrime(arr1):
for element in arr2:
# 质数大于 1
if element > 1:
# 查看因子
for i in range(2, element):
if (element % i) == 0:
break
else:
arr1.remove(element)
delPrime(arr1)
print(arr1)
输出如下: