Python学习笔记
Python学习笔记
WarYan
这个作者很懒,什么都没留下…
展开
-
浙大版《Python 程序设计》题目集 第6章函数-6 缩写词
第6章函数-6 缩写词def acronym(phrase): res = "" lst = phrase.split() for i in lst: res += i[0].upper() return res原创 2021-01-15 01:07:08 · 472 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第6章函数-5 使用函数求余弦函数的近似值
第6章函数-5 使用函数求余弦函数的近似值import mathdef fac(n): res = 1 for i in range(1, n + 1): res *= i return resdef funcos(eps, x): res = 0 flag = 1 cnt = 0 while True: q = flag * math.pow(x, cnt) / fac(cnt) if ab原创 2021-01-15 01:06:38 · 566 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第6章函数-4 使用函数输出指定范围内Fibonacci数的个数
第6章函数-4 使用函数输出指定范围内Fibonacci数的个数def fib(n): if n == 0: return 1 if n == 1: return 1 a, b = 1, 1 for i in range(2, n + 1): a, b = b, a + b return bdef PrintFN(m,n): lst = [] for i in range(0, 27):原创 2021-01-15 01:06:07 · 547 阅读 · 1 评论 -
浙大版《Python 程序设计》题目集 第6章函数-3 使用函数统计指定数字的个数
第6章函数-3 使用函数统计指定数字的个数def CountDigit(number, digit): res = 0 number = abs(number) while(number): t = number % 10 if t == digit: res += 1 number /= 10 number = int(number) return res...原创 2021-01-15 01:05:36 · 474 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第6章函数-2 使用函数求素数和
第6章函数-2 使用函数求素数和import mathdef prime(p): if p == 1: return False for i in range(2, int(math.sqrt(p) + 1)): if p % i == 0: return False return Truedef PrimeSum(m,n): res = 0 for i in range(m, n + 1):原创 2021-01-15 01:05:05 · 399 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第6章函数-1 使用函数求特殊a串数列和
第6章函数-1 使用函数求特殊a串数列和def fn(a, n): res = 0 for i in range(1, n + 1): t = 0 for j in range(i): t = t * 10 + a res += t return resdef fn(a, n): res = 0 t = 0 for i in range(1, n + 1): t =原创 2021-01-15 01:04:40 · 1095 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第7章-1 词频统计
第7章-1 词频统计import syss = sys.stdin.read()#系统标准输入模块一次读入s = s[:s.find("#")]#通过find函数来截断t = set([i if not i.isalnum() and i != '_' else " " for i in s])#将不符合条件的都变为空格for i in t: s = s.replace(i, " ")#进行替换不符合的为空格word = s.lower().split(" ")dic = {}for原创 2021-01-15 01:03:53 · 629 阅读 · 1 评论 -
浙大版《Python 程序设计》题目集 第6章-8 输出全排列
第6章-8 输出全排列import randomn = int(input())t = []tot = 1for i in range(1, n + 1): tot = tot * i t.append(str(i))s = set()while len(s) < tot:#时间复杂度是7!完全可以这样做 random.shuffle(t)#随机生成序列 s.add(''.join(t))#set中去重 #print('debug : ')原创 2021-01-14 18:44:08 · 151 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第6章-7 找出总分最高的学生
第6章-7 找出总分最高的学生n = int(input())ans = []for i in range(0, n): t = list(map(str, input().split())) Student = dict() Student['id'] = t[0] Student['name'] = t[1] Student['s1'] = int(t[2]) Student['s2'] = int(t[3]) Student['s3'] =原创 2021-01-14 18:43:37 · 854 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第6章-6 求指定层的元素个数
第6章-6 求指定层的元素个数str1 = input()k = int(input())str2 = str1.replace('[', '').replace(']', '')lst = str2.split(',')lst = [int(t) for t in lst]res = 0n = 0for i in range(len(str1)): if str1[i] == '[': n += 1 elif str1[i] == ']':原创 2021-01-14 18:43:03 · 112 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第6章-5 列表元素个数的加权和(1)
第6章-5 列表元素个数的加权和(1)str1 = input()str2 = str1.replace('[', '').replace(']', '')lst = str2.split(',')lst = [int(t) for t in lst]res = 0n = 0for i in range(len(str1)): if str1[i] == '[': n += 1 elif str1[i] == ']': n -= 1 el原创 2021-01-14 18:42:36 · 224 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第6章-4 列表数字元素加权和(1)
第6章-4 列表数字元素加权和(1)str1 = input()str2 = str1.replace('[', '').replace(']', '')lst = str2.split(',')lst = [int(t) for t in lst]res = 0n = 0cnt = 0for i in range(len(str1)): if str1[i] == '[': n += 1 elif str1[i] == ']': n -= 1原创 2021-01-14 18:41:36 · 437 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第6章-3 列表或元组的数字元素求和
第6章-3 列表或元组的数字元素求和str1 = input().replace('(', '').replace(')', '').replace('[', '').replace(']', '').split(',')tot = 0for i in str1: if '"' not in i: tot += int(i)print(tot)原创 2021-01-14 18:41:09 · 307 阅读 · 1 评论 -
浙大版《Python 程序设计》题目集 第6章-2 一帮一
第6章-2 一帮一n = int(input())lst1 = []lst2 = []lst3 = []for i in range(n): t = input().split() lst3.append(t[1]) if t[0] == '0': lst1.append(t[1]) else: lst2.append(t[1])for i in range(int(n / 2)): if lst3[i] in lst1:原创 2021-01-14 18:40:35 · 182 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第6章-1 输入列表,求列表元素和(eval输入应用)
第6章-1 输入列表,求列表元素和(eval输入应用)lst = list(eval(input()))print(sum(lst))原创 2021-01-14 18:39:38 · 454 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第5章-11 字典合并
第5章-11 字典合并a = dict(eval(input()))b = dict(eval(input()))for i in b.keys(): a[i] = a.get(i, 0) + b[i]t = list(a.items())t.sort(key=lambda x: ord(x[0]) if type(x[0]) == str else x[0])c = str(dict(t)).replace(' ', '').replace("'", '"')print(c).原创 2021-01-14 18:39:10 · 282 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第5章-10 两数之和
第5章-10 两数之和lst = list(map(int, input().split(',')))n = int(input())d = {}for i in lst: d[i] = n - ifor key, val in d.items(): if key in lst and val in lst: print(lst.index(key), lst.index(val)) breakelse: print('no answer'原创 2021-01-14 18:38:00 · 120 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第5章-9 求矩阵鞍点的个数
第5章-9 求矩阵鞍点的个数n = int(input())a = []for i in range(n): s = input() a.append([int(t) for t in s.split()])res = 0for j in range(n): for k in range(n): cnt = 0 for k1 in range(n): if a[j][k] >= a[j][k1]:原创 2021-01-13 10:18:52 · 254 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第5章-8 能被3,5和7整除的数的个数(用集合实现)
第5章-8 能被3,5和7整除的数的个数(用集合实现)m, n = input().split()m, n = int(m), int(n)set3 = set()set5 = set()set7 = set()res = set()for i in range(m, n + 1): if i % 3 == 0: set3.add(i) if i % 5 == 0: set5.add(i) if i % 7 == 0: s原创 2021-01-13 10:18:22 · 747 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第5章-7 列表去重
第5章-7 列表去重lst = eval(input())lst1 = list(set(lst))lst1.sort(key=lst.index)print(*lst1)原创 2021-01-13 10:17:51 · 254 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第5章-6 统计工龄
第5章-6 统计工龄n = int(input())lst = list(map(int, input().split()))d = {}for i in range(0, n): if not lst[i] in d: d[lst[i]] = 1 else: d[lst[i]] += 1for j in sorted(d.keys()): print(j, end=':') print(d[j])原创 2021-01-13 10:17:21 · 339 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第5章-5 统计字符出现次数
第5章-5 统计字符出现次数str1 = input()str2 = input()cnt = 0for i in str1: if i == str2: cnt += 1print(cnt)原创 2021-01-13 10:16:55 · 442 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第5章-4 分析活动投票情况
第5章-4 分析活动投票情况str1 = set(input().split(','))lst = []for i in range(5, 11): if str(i) not in str1: lst.append(str(i))print(*lst)原创 2021-01-13 10:16:19 · 452 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第5章-3 四则运算(用字典实现)
第5章-3 四则运算(用字典实现)res = {'+': 'x+y', '-': 'x-y', '*': 'x*y', '/': "x/y if y!=0 else 'divided by zero'"}x = int(input())operator = input()y = int(input())r = eval(res[operator])if type(r) != str: print(format(r, '.2f'))else: print(r)...原创 2021-01-13 10:15:49 · 431 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第5章-2 图的字典表示
第5章-2 图的字典表示n = int(input())num = 0tot = 0for i in range(n): dic = eval(input()) #print(dic) for j in dic: t = dic[j] #print(t) for k in t: num += 1 tot += t[k]print('{:d} {:d} {:d}'.format(n原创 2021-01-13 10:15:19 · 233 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第5章-1 输出星期名缩写
第5章-1 输出星期名缩写days = {1: 'Mon', 2: 'Tue', 3: 'Wed', 4: 'Thu', 5: 'Fri', 6: 'Sat', 7: 'Sun'}n = int(input())print(days[n])原创 2021-01-13 10:14:51 · 499 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第4章-30 找完数
第4章-30 找完数import mathm, n = input().split()m, n = int(m), int(n)flag = Falsefor i in range(m, n + 1): fac = [1] #fac = list() #fac.append(1) for j in range(2, int(math.sqrt(i) + 1)): if i % j == 0: fac.append(j)原创 2021-01-13 10:13:47 · 230 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第4章-29 找出不是两个数组共有的元素
第4章-29 找出不是两个数组共有的元素a = list(map(int, input().split()))b = list(map(int, input().split()))c = []for i in range(1, a[0] + 1): for j in range(1, b[0] + 1): if a[i] == b[j]: c.append(a[i])d = []for i in range(1, a[0] + 1):原创 2021-01-12 15:02:48 · 188 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第4章-28 矩阵转置
第4章-28 矩阵转置a = list(map(int, input().split()))for i in range(0, 9, 3): print('{:>4d}'.format(a[i]), end='')print('')for i in range(1, 9, 3): print('{:>4d}'.format(a[i]), end='')print('')for i in range(2, 9, 3): print('{:>4d}'.for原创 2021-01-12 15:02:17 · 229 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第4章-27 二维数组中每行最大值和每行和
第4章-27 二维数组中每行最大值和每行和a = list(map(int, input().split()))b = []c = []d = []for i in range(0, 3): b.append(a[i])for i in range(3, 6): c.append(a[i])for i in range(6, 9): d.append(a[i])for i in b: print('{:>4d}'.format(i), end='')p原创 2021-01-12 15:01:47 · 307 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第4章-26 求1!+3!+5!+……+n!
第4章-26 求1!+3!+5!+……+n!n = int(input())res = 0for i in range(1, n + 1, 2): t = 1 for j in range(1, i + 1): t *= j res += tprint('n={:d},s={:d}'.format(n, res))原创 2021-01-12 15:01:16 · 1067 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第4章-25 输出三角形字符阵列
第4章-25 输出三角形字符阵列函数:输出对应的ascii:ord()函数:实现ascii转字符:t = chr(65)n = int(input())idx = 65cnt = 0for i in range(n, 0, -1): for j in range(i, 0, - 1): print(chr(idx + cnt), end=' ') cnt += 1 print('')...原创 2021-01-12 15:00:45 · 302 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第4章-24 打印九九口诀表
第4章-24 打印九九口诀表n = int(input())for i in range(1, n + 1): for j in range(1, i + 1): print('{:d}*{:d}={:<4d}'.format(j, i, i * j), end='') print('')原创 2021-01-12 15:00:10 · 135 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第4章-23 求矩阵的局部极大值
第4章-23 求矩阵的局部极大值n, m = input().split()n, m = int(n), int(m)a = []for i in range(n): s = input() a.append([int(t) for t in s.split()])flag = Falsefor i in range(1, n - 1): for j in range(1, m - 1): if a[i][j] > a[i - 1][j] and a原创 2021-01-12 14:59:12 · 466 阅读 · 2 评论 -
浙大版《Python 程序设计》题目集 第4章-22 找鞍点
第4章-22 找鞍点n = int(input())a = []for i in range(n): s = input() a.append([int(t) for t in s.split()])for j in range(n): for k in range(n): cnt = 0 for k1 in range(n): if a[j][k] >= a[j][k1]: cnt原创 2021-01-12 14:58:38 · 227 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第4章-21 判断上三角矩阵
第4章-21 判断上三角矩阵T = int(input())cnt = 0while cnt < T: a = [] flag = False cnt += 1 n = int(input()) for i in range(n): s = input() a.append([int(t) for t in s.split()]) for j in range(n): for k in range(n原创 2021-01-12 14:57:58 · 136 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第4章-20 求矩阵各行元素之和
第4章-20 求矩阵各行元素之和n, m = input().split()n, m = int(n), int(m)a = []for i in range(n): s = input() a.append([int(n) for n in s.split()])for j in range(n): tot = 0 for k in range(m): tot += a[j][k] print(tot)...原创 2021-01-12 14:57:01 · 298 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第4章-19 矩阵运算
第4章-19 矩阵运算方法:建立二维数组建立二维数组,然后根据特点去加判断然后求和n = int(input())a = []tot = 0for i in range(n): s = input() a.append([int(n) for n in s.split()])for j in range(n): for k in range(n): if j != n - 1 and k != n - 1 and j + k != n - 1:原创 2021-01-11 16:32:54 · 231 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第4章-18 猴子选大王
第4章-18 猴子选大王n = int(input())monkey = []cnt = 0t = 0for i in range(1, n + 1): monkey.append(i)while len(monkey) > 1: t += 1 cnt += 1 if cnt > len(monkey): cnt = 1 if t == 3: t = 0 monkey.pop(cnt - 1)原创 2021-01-11 16:32:21 · 198 阅读 · 0 评论 -
浙大版《Python 程序设计》题目集 第4章-17 水仙花数
第4章-17 水仙花数import mathn = int(input())for i in range(int(math.pow(10, n - 1)), int(math.pow(10, n))): tot = 0 j = i while j: tot += math.pow(j % 10, n) j //= 10 if tot == i: print('%d' % tot)原创 2021-01-11 16:31:50 · 226 阅读 · 0 评论