PTA浙大《Python程序设计》
pta
周小丫0_0
这个作者很懒,什么都没留下…
展开
-
第六章 7-8 *输出全排列
python中编程技巧,要巧妙运用字符串类型输入的数字创建数字字符串列表全排列利用递归来做,每次去掉一个,对其他的做全排列然后在在前面加上去掉的那个数字字符def perm(num): rs = [] if len(num) <= 1: rs.append(num) return rs else: for i ...原创 2020-04-29 22:48:33 · 1157 阅读 · 0 评论 -
第六章 7-7 找出总分最高的学生
n=int(input())info=[]s=[]for i in range(n): stu_info = input().split() info.append(stu_info) total_s = int(stu_info[-1])+int(stu_info[-2])+int(stu_info[-3]) s.append(total_s)max_s ...原创 2020-04-29 22:42:44 · 1502 阅读 · 0 评论 -
第六章 7-6 求指定层的元素个数 (40分)
def func(li,n,cnt): if n == cnt: return len([i for i in li if type(i)!=list]) else: return sum([func(i,n,cnt+1) for i in li if type(i) == list])li = eval(input())n = int(inpu...原创 2020-04-29 22:42:10 · 462 阅读 · 1 评论 -
第六章 7-5 列表元素个数的加权和(1)
li=eval(input())def flatten(item,level): s=0 for i in item: if isinstance(i,int): s += 1*level if isinstance(i,list): s += flatten(i,level+1) retur...原创 2020-04-29 22:41:30 · 586 阅读 · 0 评论 -
第六章 7-4 列表数字元素加权和(1)
"""li=eval(input())def flatten(items,level): s=0 for i in items: if isinstance(i,int): s += i * level elif isinstance(i,list): s += flatten(i,level+1)...原创 2020-04-29 22:40:06 · 374 阅读 · 0 评论 -
第六章 7-3 列表或元组的数字元素求和
li=eval(input())def flatten(items): lst=[] for x in items: if isinstance(x,(list,tuple)) and not isinstance(x,str): for element in flatten(x): lst.append(e...原创 2020-04-29 22:38:39 · 461 阅读 · 0 评论 -
第六章 7-2 一帮一 (15分)
"""N=int(input())girl=[]boy=[]for i in range(N): sex, name=input().split() if sex=='0': girl.append([name,i]) elif sex=='1': boy.append([name,i])lst = list(zip(girl,bo...原创 2020-04-29 22:37:44 · 999 阅读 · 0 评论 -
第六章 7-1 输入列表,求列表元素和(eval输入应用)
li=eval(input())print(sum(li))原创 2020-04-29 22:36:45 · 744 阅读 · 0 评论 -
第五章 7-11 字典合并
# 字典键的类型不同# 打印时要注意整型的1和字符型的'1'打印出来是一样的,但是程序过程中非常非常要注意,容易看走眼d1=eval(input())d2=eval(input())d_str={}d_digit={}for k,v in d1.items(): if k in d2.keys(): d2[k] += d1[k] else: ...原创 2020-04-01 20:17:41 · 1180 阅读 · 0 评论 -
第五章 7-10 两数之和
li=list(map(int,input().split(',')))n=int(input())dic={}flag=0for index,v in enumerate(li): dic[v]=indexfor k,v in dic.items(): if n-k in dic.keys(): flag=1 print(dic[k],d...原创 2020-04-01 20:15:44 · 332 阅读 · 0 评论 -
第五章 7-9 求矩阵鞍点的个数
这题跟第四章那个几乎一样,一个求坐标一个求数字n=int(input())a=[list(map(int,input().split())) for i in range(n)]c=[]d=[]for i in range(n): maxa=max(int(a[i][j]) for j in range(n)) mina=min(int(a[k][i]) for k i...原创 2020-04-01 20:15:05 · 1040 阅读 · 0 评论 -
第五章 7-8 能被3,5和7整除的数的个数(用集合实现)
m, n = input().split()m, n = int(m), int(n)set3 = set()set5 = set()set7 = set()res_set = set()for i in range(m, n + 1): if (i % 3 == 0): set3.add(i) if (i % 5 == 0): set5...原创 2020-04-01 20:14:01 · 614 阅读 · 0 评论 -
第五章 7-7 列表去重
li=eval(input())li2=[]for i in li: if i not in li2: li2.append(i)print(' '.join(list(map(str,li2))))原创 2020-04-01 20:13:25 · 363 阅读 · 0 评论 -
第五章 7-6 统计工龄
N=int(input())li=input().split()dic={}for i in li: if i not in dic: dic[i] = 1 else: dic[i] += 1sorted_dic=sorted(dic.items(),key=lambda x:int(x[0]))for k in sorted_dic: ...原创 2020-04-01 20:12:47 · 726 阅读 · 0 评论 -
第五章 7-5 统计字符出现次数
string=input()dic={}for i in string: if i not in dic: dic[i] = 1 else: dic[i] += 1try: c=input() print(dic[c]) except: print(0)原创 2020-04-01 20:12:07 · 959 阅读 · 0 评论 -
第五章 7-4 分析活动投票情况
li=set(input().split(','))steam=['6','7','8','9','10']r=[i for i in li if i in steam]rs=[k for k in steam if k not in r]print(' '.join(rs))原创 2020-04-01 20:11:23 · 633 阅读 · 0 评论 -
第五章 7-3 四则运算(用字典实现)
m=int(input())s=input()n=int(input())sd={'+':'m+n','-':'m-n','*':'m*n','/':'m/n'}if n==0: print('divided by zero')else: rs=eval(sd.get(s)) print('%.2f'%rs)原创 2020-04-01 20:10:45 · 1439 阅读 · 1 评论 -
第五章 7-2 图的字典表示
n=int(input())dic={}for i in range(n): d_i=eval(input()) dic.update(d_i)v=set()e=set()s=0for key,value in dic.items(): v.add(key) if type(value)==dict: for key1,v1 in va...原创 2020-04-01 20:10:12 · 596 阅读 · 0 评论 -
第五章 7-1 输出星期名缩写
calendar = {'1':'Mon','2':'Tue','3':'Wed','4':'Thu','5':'Fri','6':'Sat','7':'Sun'}n = input()print(calendar.get(n))原创 2020-04-01 15:09:12 · 842 阅读 · 0 评论 -
第四章 7-29 找完数
import mathm,n=map(int,input().split())flag=0for k in range(m,n+1): li=[1] for i in range(2,int(math.sqrt(k))+1): if k%i == 0: li.append(i) li.append(int(k/i...原创 2020-03-31 23:32:40 · 178 阅读 · 0 评论 -
第四章 7-28 找出不是两个数组共有的元素
n1=list(map(int,input().split()))[1:]n2=list(map(int,input().split()))[1:]n=[i for i in n1 if i in n2]rs=[]for i in n1: if i not in n and i not in rs: rs.append(i)for j in n2: if ...原创 2020-03-31 23:31:52 · 289 阅读 · 0 评论 -
第四章 7-27 矩阵转置
n=list(map(int,input().split()))mat=[n[i:i+3] for i in range(0,len(n),3)]mT=[[row[col] for row in mat]for col in range(3)]for m in mT: for k in m: print('%4d'%k,end='') print('')原创 2020-03-31 23:31:04 · 596 阅读 · 0 评论 -
第四章 7-26 二维数组中每行最大值和每行和
n=list(map(int,input().split()))li=[n[:3],n[3:6],n[6:]]for i in li: s=sum(i) i.append(max(i)) i.append(s) cnt=0 for j in i: print('%4d'%j,end='') cnt+=1 i...原创 2020-03-31 23:30:22 · 1881 阅读 · 0 评论 -
第四章 7-25 求1!+3!+5!+……+n!
n=int(input())li=[1]for i in range(2,n+1): li.append(li[-1]*i)s=0cnt=0for k in li: if cnt%2==0: s+=k cnt+=1print('n={},s={}'.format(n,s))原创 2020-03-31 23:23:41 · 806 阅读 · 0 评论 -
第四章 7-24 输出三角形字符阵列
# ord的用法n=int(input())s=ord('A')for i in range(n): for j in range(n-i): print('{} '.format(chr(s)),end='') s+=1 print('')原创 2020-03-31 23:20:55 · 441 阅读 · 0 评论 -
第四章 7-23 打印九九口诀表
N=int(input())for i in range(1,N+1): for k in range(1,i+1): print('{}*{}={:<4d}'.format(k,i,i*k),end='') if i==k: print('')原创 2020-03-31 23:19:50 · 220 阅读 · 0 评论 -
第四章 7-22 求矩阵的局部极大值
m,n=map(int,input().split())mat=[]for i in range(m): mat.append(list(map(int,input().split())))flag=0for i in range(1,m-1): for j in range(1,n-1): if mat[i][j] > max(mat[i][j-1...原创 2020-03-31 23:18:27 · 564 阅读 · 0 评论 -
第四章 7-21 找鞍点
n=int(input())matrix=[]for i in range(n): ni = list(map(int,input().split())) matrix.append(ni)c=[]d=[]for i in range(n): max_mat = max([matrix[i][j] for j in range(n)]) min_mat =...原创 2020-03-31 22:34:08 · 197 阅读 · 0 评论 -
第四章 7-20 判断上三角矩阵
T=int(input())n_mat = []for i in range(T): n = int(input()) mat = [] for j in range(n): mat.append(list(map(int,input().split()))) n_mat.append(mat)flag_li=[]for m in n_ma...原创 2020-03-31 17:11:32 · 224 阅读 · 0 评论 -
第四章 7-19 求矩阵各行元素之和
m,n=map(int,input().split())martix=[]for i in range(m): martix.append(map(int,input().split()))for i in martix: print(sum(i))原创 2020-03-31 16:11:52 · 304 阅读 · 0 评论 -
第四章 7-18 矩阵运算
N = int(input())matrix=[]for i in range(N): matrix.append(list(map(int,input().split())))s=0m1=0m2=0cnt=0for li in matrix: s += sum(li) m1 += li[-1] m2 += li[len(li)-1-cnt] ...原创 2020-03-31 16:08:49 · 232 阅读 · 0 评论 -
第四章 7-17 猴子选大王
n = int(input())li = [i for i in range(1,n+1)]while(len(li)>2): for i,j in enumerate(li): if i == 2: li=li[3:]+li[0:2]print(li[-1])原创 2020-03-31 16:07:16 · 154 阅读 · 0 评论 -
第四章 7-16 水仙花数
## 这一段代码提交后显示运行超时n=input()max_n = 1for i in range(int(n)): max_n = max_n*10def isNarcissistic(N): li=list(str(N)) s=0 for i,j in enumerate(li): s_k = 1 for k in ...原创 2020-03-31 16:06:26 · 323 阅读 · 0 评论 -
第四章 7-15 jmu-python-判断是否构成三角形
# 构成三角形的要点是两边之和大于第三边l=input().split()n_l=sorted([int(i) for i in l])if n_l[0]+n_l[1] > n_l[2]: print('yes')else: print('no')原创 2020-03-31 16:06:05 · 651 阅读 · 0 评论 -
第四章 7-14 换硬币
n=int(input())cnt=0for i in range(int(n/5),0,-1): r=n-i*5 for j in range(int(r/2),0,-1): k=n-i*5-j*2 if k>0: cnt+=1 print('fen5:{}, fen2:{}, fen1:{...原创 2020-03-31 16:05:02 · 433 阅读 · 0 评论 -
第四章 7-13 求误差小于输入值的e的近似值
# 给出的误差值其实用来判断哪一项满不满足就可以了n=float(input())def factorial(error): n_i = 1 f = 1 i=0 while True: i += 1 n_i = n_i*i f += 1/n_i if 1/n_i < error: ...原创 2020-03-31 16:04:24 · 671 阅读 · 0 评论 -
第四章 7-12 求满足条件的斐波那契数
n=int(input())def fabonacci(x): a=1 b=1 c=1 for i in range(2,x+1): c=a+b a,b=b,c if c>x: return c breaks=fabonacci(n)print(s)原创 2020-03-31 16:01:09 · 784 阅读 · 0 评论 -
第四章 7-11 判断素数
def isprime(x): flag = 0 for k in range(2,i): if i%k == 0: flag=0 break else: flag = 1 if flag == 1: return 'Yes' else:...原创 2020-03-31 16:00:26 · 419 阅读 · 0 评论 -
第四章 7-10 最大公约数和最小公倍数
m,n = map(int,input().split())def gongyue(a,b): while True: if a<b: a,b=b,a a,b=b,a%b if b==0: return a break def gongbei(a,b,c):...原创 2020-03-31 15:59:43 · 662 阅读 · 0 评论 -
第四章 7-9 查询水果价格
n=list(input().split())data={'1':'apple', '2':'pear', '3':'orange', '4':'grape', '0':'exit', }for key,value in data.items(): print('[{}] {}'.format(key,value)) ...原创 2020-03-29 15:34:40 · 385 阅读 · 0 评论