Python算法题库(入门)
1. 字符串最后一个单词长度
str = input("输入一串字符串:") strList = str.split(' ')[-1] print(len(strList))
2. 计算某字符出现的次数
str = input("请输入:").upper() nstr = input("请输入计算的字符:").upper() num = str.count(nstr)
3. 随机数去重排序
随机生成了N个1到100之间的随机整数。删去其中重复的数字,再把这些数从小到大排序,按照排好的顺序输出。 import random n = int(input()) list = [] for i in range(n): ran = random.randint(1,100) if ran not in list: list.append(ran) list.sort()
4.字符串分隔输出
输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;长度不是8整数倍的字符串请在后面补数字0 import re str = input() newStr = str+(len(str)%8*'0') str1 = re.findall(r'.{8}',newStr)
5. 求质数所有因子
输入一个正整数,按照从小到大的顺序输出它的所有质因子 num = int(input()) i = 2 while i*i <= num: while num % i == 0: num = num // i print(i, end=' ') i = i+1 if num-1: print(num, end=' ')
6. 四舍五入去近似值
输入一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整 num = float(input()) num = int(num + 0.5) # 取值加0.5在取整即可
7. 合并表元素
列表中包含表索引index和数值value(int范围的正整数),对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照index值升序进行输出 list = [(3,4),(0,1),(0,2),(1,2),(1,3)] dict = {} for i in range(len(list)): key = list[i][0] value = list[i][1] if key not in dict: dict[key] = value else: dict[key] = dict[key] + value print(dict) # {3: 4, 0: 3, 1: 5} for i in sorted(dict.keys()): # 根据可以值进行排序 print(i,dict[i])
8. 字符串去重逆序输出
输入一个 字符串,按照从右向左的阅读顺序,返回一个不含重复字符的新的字符串 listStr = list(input("请输入:")[::-1]) # 将字符串进行反向排序转换为列表 setStr = list(set(listStr)) # 将列表转换为集合去重后在转换为列表 setStr.sort(key=listStr.index) # 依据原列表的下标对新列表进行排序,因为转换为集合后,数据位置会变 print(''.join(setStr)) # 将列表转为字符串输入
9. 计算字符个数
计算字符串中含有的不同字符的个数 str = list(input("请输入:")) newList = [] num = 0 for i in str: if i not in newList: newList.append(i) num += 1 print(num)
10. 字符串反转
# 方法1,切片 str = input('请输入:') str1 = str[::-1] print(str1) # 方法2,反转函数 print(''.join(reversed(str))) # 方法3,逐个读取添加 newStr = '' index = len(str) while index: index -= 1 newStr += str[index] print(newStr) # 方法4,模拟出入栈 list = list(str) newStr = '' while len(list) > 0: newStr += list.pop() print(newStr)
11. 排序查询
两个字符串,A和B,判断两个字符串中的字符是否相同,例如:python和ptyonh,相等 方法1:sort方法 def isSamestr(A, B): newA = list(A) newB = list(B) newA.sort() newB.sort() return newA == newB 方法2:sorted方法 def isSamestr1(A, B): return sorted(list(A)) == sorted(list(B)) 方法3:计数排序 def isSamestr(A, B): dict1 = {} dict2 = {} for i in A: dict1[i] = dict1.get(i, 0) += 1 for i in B: dict2[i] = dict2.get(i, 0) += 1 return dict1 == dict2
浙公网安备 33010602011771号