- 博客(95)
- 收藏
- 关注
原创 PAT (Basic Level) Practice Python解法 1053 住房空置率(百分数输出)
PAT (Basic Level) Practice Python解法 1053 住房空置率n, yz, days = input().split(' ')#直接这样写可以一一对应house = []may = emp = 0n, days = map(int,(n,days))yz =float(yz)for i in range(n): house.append(list(map(float,input().split(' '))))for per in house: ck
2021-08-23 18:09:17
196
原创 PAT (Basic Level) Practice Python解法 1041 考试座位号(for的及时终止与list里的pop抛出index/remove删除value)
PAT (Basic Level) Practice Python解法 1041 考试座位号(for的及时终止与list里的pop抛出index/remove删除value)n = int(input())sample = []otplst = []for i in range(n): sample.append(input().split(' '))count = int(input())cklist = input().split(' ')#for item in sample:
2021-08-23 17:14:59
138
原创 PAT (Basic Level) Practice Python解法 1031 查验身份证(for里的else与缩进逻辑)
PAT (Basic Level) Practice Python解法 1031 查验身份证(for里的else与缩进逻辑)n = int(input())sample = []otplst = []#不符合要求的身份证cklist = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]#权重listM = [1,0,'X',9,8,7,6,5,4,3,2]#校验码listfor num in range(n): sample.append(input())f
2021-08-23 16:52:50
271
原创 PAT (Basic Level) Practice Python解法 1051 复数乘法(关于四舍五入与round的800个坑)
PAT (Basic Level) Practice Python解法 1051 复数乘法(关于四舍五入与round的800个坑)我就无语,这破题目后面的数值坑点卡掉我一个小时真的烦。import matha,b,c,d = map(float,input().split(' '))s1z = a*math.cos(b);s1i = a*math.sin(b)s2z = c*math.cos(d);s2i = c*math.sin(d)zs = round((s1z*s2z-s1i*s2i),
2021-08-23 16:06:56
206
原创 可优化-PAT (Basic Level) Practice Python解法 1026 程序运行时间(时间进位/四舍五入Tobe解决)
可优化-PAT (Basic Level) Practice Python解法 1026 程序运行时间(时间进位/四舍五入Tobe解决)c1, c2 = map(int,input().split())time = (c2-c1)/100hrs = time//3600#不要在这一步就int,后面进位操作会报错min = (time%3600)//60sec = (time%3600)%60if sec >= 59.5: if min == 59: min = se
2021-08-23 02:47:17
269
原创 深相等与浅相等 sort函数内部实现 python的堆栈与大O记法
核心在于is看指向而==看值。这里会牵扯到深浅拷贝、变量指向内容管理与变更的问题,细看。Python中is与==的使用区别详解Python的深拷贝与浅拷贝
2021-08-21 16:03:36
433
原创 追星tips
lofter版权图片保存,右键view-source查看源码,主图<div class="img">里能找到image链接。
2021-08-21 00:37:24
142
原创 存档没写完 1077 互评成绩计算
存档没写完 1077 互评成绩计算应该是float类型转换小数计算出了问题导致最后一个坑点报错。n, full = map(int,input().split(' '))score = []otp = []for i in range(n): score.append(list(map(int,input().split(' '))))for student in score: teacher = student.pop(0) student.sort()#这里如果是so
2021-08-20 20:11:30
76
原创 PAT (Basic Level) Practice Python解法 1076 Wifi密码(字典与list的替换)
PAT (Basic Level) Practice Python解法 1076 Wifi密码(字典与list的替换)n = int(input())wifi = []pw = []for i in range(n): wifi.append(input().split(' '))for hang in wifi: for pair in hang: if pair[-1]=='T': pw.append(pair[0])
2021-08-20 19:09:12
230
原创 存档没写完 1018 锤子剪刀布
存档没写完 1018 锤子剪刀布很迷茫,坑点爆炸就算了最后还运行超时也太痛苦了。data = []n = int(input())for i in range(n): data.append(list(input().split()))xwin = ywin = 0xp = yp = 0check = ['B','C','J']xcount = ycount = [0,0,0]#b,c,j,方便后续按照最小解输出for pair in data: if pair == [
2021-08-20 18:47:32
70
原创 PAT (Basic Level) Practice Python解法 1023 组个最小数(sort/sorted)
PAT (Basic Level) Practice Python解法 1023 组个最小数data = list(map(int,input().split(' ')))sample = []for index in range(1,len(data)): if data[index] != 0: sample.append(str(index)) data[index] = data[index]-1 breakfor index in r
2021-08-20 18:14:03
143
原创 可改-PAT (Basic Level) Practice Python解法 1022 D进制的A+B(进制转换)
很神秘,不知道为什么run过去了。#通过的版本。a,b,c = map(int,input().split())lstotp = []quo = (a+b)//cwhile quo!=0: rem = quo % c quo = quo//c lstotp.append(rem)lstotp.reverse()lstotp.append((a+b)%c)print(''.join(list(map(str,lstotp))))应该还可以改,因为没想通怎么把第一次计
2021-08-20 15:01:07
2387
原创 可改-PAT (Basic Level) Practice Python解法 1021 个位数统计(enumerate函数/list添加重复元素)
可改-PAT (Basic Level) Practice Python解法 1021 个位数统计(enumerate函数)#应该可以用numerate函数计算index(还有别的做法)judge = list(map(str,range(0,10)))count = [0]*10#列表添加重复元素sample = list(input())for num in sample: for check in judge: if num == check:
2021-08-20 14:17:22
95
原创 存档没写完 1048 数字加密
存档没写完 1048 数字加密我的大脑已经不足以支撑我寻思清楚了。sample, data = map(list,input().split(' '))sample, data = list(map(int,sample)), list(map(int,data))lstotp = []for i in range(1,len(data)+1): if i<=len(sample): if i%2==1: yu = (sample[-i]+da
2021-08-19 20:17:17
102
原创 PAT (Basic Level) Practice Python解法 1046 划拳
PAT (Basic Level) Practice Python解法 1046 划拳n = int(input())css = []for i in range(n): css.append(list(map(int,input().split(' '))))xdrink = ydrink = 0for check in css: goal = check[0]+check[2] x,y = check[1],check[3] if x == goal and y
2021-08-19 19:29:59
174
原创 PAT (Basic Level) Practice Python解法 1011 A+B 和 C(N的控制输入与for循环)
PAT (Basic Level) Practice Python解法 1011 A+B 和 C(N的控制输入与for循环)很神秘,不知道为什么我的单独控制的写法出错了。之前好像有一道题也是卡了。#这是通过版本。count = int(input())for i in range(count): css = list(map(int,input().split(' '))) if css[0]+ css[1]> css[2]: print("Case #{:}
2021-08-19 18:59:27
121
原创 存档没写完 7-27 冒泡法排序
存档没写完 7-18 二分法求多项式单根我很难理解第三个坑点怎么就错了啊?n,count = map(int,input().split())lstp = list(input().split())run = 0for num in range(len(lstp)-1): for a in range(len(lstp)-1): if lstp[a]>lstp[a+1]: lstp[a],lstp[a+1] = lstp[a+1],lstp[a
2021-08-19 18:32:41
106
原创 存档没写完 7-34 通讯录的录入与显示
存档没写完 7-34 通讯录的录入与显示我很难理解坑点23为什么没过去。n = int(input())txl = []t = 1while t<=n: txl.append(list(input().split(' '))) t = t+1count, *num = input().split(' ')num = list(map(int,num))for item in num: if item<len(txl): print(txl
2021-08-19 18:12:48
99
原创 PTA基础编程题目集 Python解法 7-29 删除字符串中的子串(str/in)
PTA基础编程题目集 Python解法 7-29 删除字符串中的子串(str/in)target = input()sample = input()while sample in target: target = target.replace(sample,'') #这里的操作和list是不一样的,list的reverse操作是把列表本身给改了,但是str是没有的。print(target)...
2021-08-19 16:21:43
268
原创 有个报错没寻思出来 PTA基础编程题目集 Python解法 7-19 支票面额(for循环中的else与break)
PTA基础编程题目集 Python解法 7-19 支票面额(for循环中的else与break)n = int(input())pt = 0for y in range(101): for f in range(101): if n+200*y+2*f == f*100+y: print("{}.{}".format(y,f)) pt = 1 breakif pt == 0: print("No
2021-08-19 15:50:49
302
原创 存档没写完 7-18 二分法求多项式单根
a3,a2,a1,a0 = map(int,input().split(' '))a,b = map(float,input().split(' '))def calcul(x): return a3*x*x*x+a2*x*x+a1*x+a0if calcul(a)==0: print("{:.2f}".format(a))elif calcul(b)==0: print("{:.2f}".format(b))else: while calcul(a)*calcul
2021-08-19 15:15:07
98
原创 PAT (Basic Level) Practice Python解法 1016 部分A+B(count)
PAT (Basic Level) Practice Python解法 1016 部分A+B(count)a,da,b,db = input().split()la = list(a)lb = list(b)pa = la.count(da)*dapb = lb.count(db)*dbif pa=='': pa = 0if pb=='': pb = 0print(int(pa)+int(pb))
2021-08-18 16:19:28
170
原创 PAT (Basic Level) Practice Python解法 1036 跟奥巴马一起编程(while/四舍五入)
PTA基础编程题目集 Python解法 1036 跟奥巴马一起编程(while/四舍五入)n,a = input().split()n = int(n)if n%2==1:#就离谱round居然用不了。 t=n//2+1else: t=n//2 print(a*n)i = 0while i<(t-2): print(a,' '*(n-2),a,sep='') i = i+1print(a*n)...
2021-08-18 16:00:35
151
原创 PTA基础编程题目集 Python解法 7-35 有理数均值(fraction函数)
PTA基础编程题目集 Python解法 7-35 有理数均值(fraction函数)import fractionsn = int(input())lotp = []listq = list(input().split(' '))for i in listq: lotp.append(fractions.Fraction(i))#fraction的对应操作是strprint(sum(lotp)/n)fraction函数操作→包括但不限于自动化简等...
2021-08-18 15:29:07
294
原创 PTA基础编程题目集 Python解法 7-17 爬动的蠕虫(while中+1的位置)
PTA基础编程题目集 Python解法 7-17 爬动的蠕虫(while中+1的位置)n,u,d = map(int,input().split())n = n-1dis = 0time = 0while dis<=n: time = time+1#如果这条放在处理之后就会-1 if time%2 == 1: dis = dis+u if time%2 == 0: dis = dis-dprint(time)...
2021-08-18 15:04:40
391
原创 PTA基础编程题目集 Python解法 7-15 计算圆周率(末尾阈值/while与无限制末位控制)
PTA基础编程题目集 Python解法 7-15 计算圆周率(末尾阈值/while与无限制末位控制)# 题目里提及最后一项小于给定阈值,但是实际操作中的阈值应该是和原始数据的差值。acc = float(input())pi = 1hys = 1num = deno = 1i = 1# 不是每次都要for和range控制范围,range可能堵不到,可以在while计算过后用+1来控制while hys >= acc: num = num*i deno = deno *
2021-08-18 12:02:34
791
原创 PTA基础编程题目集 Python解法 7-16 求符合给定条件的整数集(空格输出+换行输出/print()原理解析)
PTA基础编程题目集 Python解法 7-16 求符合给定条件的整数集(换行控制空格输出)n = int(input())listotp = []for i in range(n,n+4): for j in range(n,n+4): for k in range(n,n+4): if(i != k) and (i != j) and (j != k): listotp.append(i*100+j*10+k)#三个for循环里通过range的从小到大迭代可以直接控制输出的顺
2021-08-18 11:42:22
701
原创 PTA基础编程题目集 Python解法 7-14 求整数段和(换行/格式化输出)
PTA基础编程题目集 Python解法 7-14 求整数段和(换行/格式化输出)a,b = map(int,input().split())k = 0for num in range(a,b+1): print("{:>5}".format(num),end='') k = k+1 if k==5: print() k = 0if (b-a+1)%5 != 0: print()#控制在倍数为5的输出范围时的换行。print("S
2021-08-18 11:02:53
334
原创 PTA基础编程题目集 Python解法 7-4 BCD解密(进制转换)
PTA基础编程题目集 Python解法 7-4 BCD解密(进制转换)hys = int(input())zs = hys//16 #整数部ys = hys%16 #余数部otp = zs*10+ys*1 #转换加和print(otp)
2021-08-18 10:49:11
405
原创 PAT (Basic Level) Practice Python解法 1093 字符串A+B(顺序去重/chr与ord/asc2码/内存超时/原顺序输出)
PAT (Basic Level) Practice Python解法 1093 字符串A+B(顺序去重/chr与ord/asc2码/内存超时的解决办法)a = list(input())b = list(input())a.extend(b)total1 = list(set(a))total1.sort(key=a.index)#用原列表的index顺序来控制本身无序的set的输出。print(''.join(total1))我老是写totalotp = total1.sort(key
2021-07-25 06:55:01
375
1
原创 PAT (Basic Level) Practice Python解法 1091 N-自守数(for循环与break的判定)
PAT (Basic Level) Practice Python解法 1091 N-自守数(for循环与break的判定)m = int(input())ck = list(map(int,input().split()))for num in ck: lennum = len(str(num)) for n in range(10): zs = n*num*num mw = zs%(10**lennum) if mw == num:
2021-07-25 06:15:55
128
原创 PTA基础编程题目集 Python解法 7-13 日K蜡烛图(max/min/sep的细节)
PTA基础编程题目集 Python解法 7-13 日K蜡烛图(max/min/sep的细节)open, high, low, close = map(float, input().split(' '))if close<open: candle = 'BW-Solid'elif close>open: candle = 'R-Hollow'else: candle = 'R-Cross'#candle判断 if high>max(open,clos
2021-07-19 14:53:04
280
原创 PTA基础编程题目集 Python解法 7-5 表格输出
PTA基础编程题目集 Python解法 7-5 表格输出(懒了。)print('------------------------------------')print('Province Area(km2) Pop.(10K)')print('------------------------------------')print('Anhui 139600.00 6461.00')print('Beijing 16410.54 1180.70')
2021-07-16 17:34:57
670
原创 PAT (Advanced Level) Practice Python Method 1001 A+B Format(format函数语法)
PAT (Advanced Level) Practice Python Method 1001 A+B Format(format函数使用方法)a,b = map(int,input().split(' '))print("{:,}".format(a+b, ','))format函数语法:{<index>:<pad><align><width.accuracy><format>}其中<pad>box分别对应2/8/16进制
2021-07-16 17:15:15
155
原创 PTA基础编程题目集 Python解法 7-33 有理数加法(求最大公约数/not callable与del())
PTA基础编程题目集 Python解法 7-33 有理数加法(最大公约数/not callable的解决方法)a, b = input().split(' ')s1 = list(map(int,a.split('/')))s2 = list(map(int,b.split('/')))fz = s1[0] * s2[1]+s1[1] * s2[0]fm = s1[1] * s2[1]#这里反复跳出'list' object is not callable。#因为之前命名了一个list[],而
2021-07-16 00:08:51
435
原创 PTA基础编程题目集 Python解法 7-26 单词长度(join的str限制/list与str的转换操作)
PTA基础编程题目集 Python解法 7-26 单词长度(join的str限制/list与str的转换操作)str1 = input().replace('.','')#str不可修改,只能把replace之后的新str重新赋值给新变量。list1 = str1.split()list2 = []for i in list1: list2.append(len(i))print(' '.join(map(str,list2)))#join的使用对象需要是str。...
2021-07-13 20:46:05
255
原创 PTA基础编程题目集 Python解法 7-25 念数字(input/split/list/map相关使用方法)
PTA基础编程题目集 Python解法 7-25 念数字(input/split/list/map相关使用方法)innum = list(input())#如果用input().split()的话是生成['-600'],split的缺省是空格。outnum = []discnum = {"0": 'ling',"1": 'yi',"2": 'er',"3": 'san',"4": 'si',"5": 'wu',"6": 'liu',"7": 'qi',"8": 'ba',"9": 'jiu','-':
2021-07-13 20:28:20
419
原创 PTA基础编程题目集 Python解法 7-21 求特殊方程的正整数解(for循环简单嵌套以及tuple)
PTA基础编程题目集 Python解法 7-21 求特殊方程的正整数解(for循环简单嵌套以及tuple)import mathlst = []sol = int(input())for x in range(1, int(math.sqrt(sol))+1): for y in range(1,x+1):#不加1就会漏掉50=25*2的情况 if x*x+y*y == sol: lst.append((y,x))#append向list末尾添加元组
2021-07-13 20:01:28
718
原创 PTA基础编程题目集 Python解法 7-20 打印九九口诀表
PTA基础编程题目集 Python解法 7-20 打印九九口诀表n = int(input())for i in range(1,n+1): for k in range(1,i+1): print('{:}*{:}={: <3}'.format(k,i,i*k),end=' ') #等号右侧4位,等号占去1,右侧左对齐共三位 print()...
2021-07-13 19:38:46
253
原创 PTA基础编程题目集 Python解法 7-6 混合类型数据格式化输入(format)
PTA基础编程题目集 Python解法 7-6 混合类型数据格式化输入(format)a,b,c,d = input().split(' ')#输出cbadprint(c,b,'{:.2f} {:.2f}'.format(float(a),float(d)))
2021-07-13 19:13:36
595
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅