有趣的PTA-python题目
HuSmall2un2
欢迎探讨。
你的点赞,我的动力。
展开
-
L1-020 帅到没朋友 (20分)
n = int(input())s = set()for i in range(n): l = input().split() if l[0] == '1': continue for j in l[1:]: s.add(j)m = int(input())l = input().split()ls = []ll = set()for i in l: if (i not in s) and (i not in ll): .原创 2020-07-29 00:07:24 · 291 阅读 · 0 评论 -
第7章-1 词频统计 (30分)
这题我实在不知道错在哪,验证答案时四个有两处时错的,所以记录一下,看看有没有大佬指点。s = ''while '#' not in s: s += input()s = s[:s.index('#')]for k in set([i for i in s if (not i.isalnum()) and (i != '_')]): s = s.replace(k,' ')l = s.lower().split()d = {}for i in l: if len.原创 2020-06-18 16:56:14 · 699 阅读 · 0 评论 -
第6章函数-5 使用函数求余弦函数的近似值 (20分)--未写完
这题我一直不知道错在哪里,所以就先记录一下,放着,有空再来看看。也希望有大佬能提点我一下def funcos(eps,x ): s = 1 n = 0 total = 0 while True: if abs(s) < eps: break total += s n += 2 eveal = 1 for i in range(1,n+1): .原创 2020-06-18 16:53:43 · 610 阅读 · 0 评论 -
第6章-8 *输出全排列(选作) (20分)
这题我是想不到什么比较简便的方法,只能用随机库将顺序打乱,不断尝试可能我想知道有没有规律可循,大佬呢import randomn = int(input())lst = set() #集合保证添加进来的数不重复l = [str(i) for i in range(1,n+1)] #将所有数变成字符串然后一个个的组成列表cnt = 1for i in range(1,n+1): cnt *= i #cnt就是总的可能数,其实就是求n的阶乘while len(lst)<.原创 2020-06-17 11:24:51 · 441 阅读 · 1 评论 -
第5章-11 字典合并 (40分)
由于巧妙地用到了sorted函数,所以记录一下。d1=eval(input())d2=eval(input())d3={}for i in d1: d3[i]=d1[i]+d2.get(i,0)for i in d2: if i not in d3.keys(): d3[i]=d2[i]d3=str(dict(sorted(d3.items(),key=lambda x:x[0] if type(x[0])==int else ord(x[0])))).原创 2020-06-12 20:05:28 · 469 阅读 · 0 评论 -
递归函数
记录下与“递归函数”有关的PTA-Python题目def Sum(l): s=0 if type(l)==int: s+=l if type(l)==list or type(l)==tuple: for i in l: s+=Sum(i)#递归 return sl=eval(input())print(Sum(l))...原创 2020-06-12 19:48:59 · 179 阅读 · 0 评论 -
第5章-10 两数之和 (30分)
l=list(map(int,input().split(',')))num=int(input())d={}for i in l: d[i]=num-iprint(d)for key,value in d.items(): if key in l and value in l: print(l.index(key),l.index(value)) breakelse: print('no answer')此题答案来自网络...原创 2020-06-11 16:11:31 · 283 阅读 · 3 评论 -
第5章-7 列表去重 (40分)
此题是在浙大python题目集刷到的,有两个地方值得学习,所以记录一下。先附上答案l1 = eval(input())l2 = list(set(l1))l2.sort(key = l1.index)print(' '.join(list(map(str, l2))))其中列表输出时我平常如果是以空格隔开输出的,使用的是循环判断for i in l2: if i == l2[-1]: print(i) else: print(i,e原创 2020-06-10 23:03:00 · 1324 阅读 · 1 评论 -
斐波那契数列
n = int(input())a, b = 1, 1while b <= n: a, b = b, a + bprint(b)原创 2020-06-12 19:44:01 · 226 阅读 · 1 评论