
Python程序设计
生活沒有前戲
我是蒟蒻(jv ruo)
展开
-
ZJU Python程序设计第六章课上演示程序实现
1.斐波那契数列http://pythontutor.com/visualize.html#code=def%20fib%28n%29%3A%0A%20%20%20%20result%3D%5B1,1%5D%0A%20%20%20%20for%20i%20in%20range%28n-2%29%3A%0A%20%20%20%20%20%20%20%20result.append%28result%5B-2%5D%2Bresult%5B-1%5D%29%0A%20%20%20%20return%20res原创 2021-06-01 14:55:16 · 269 阅读 · 0 评论 -
Python 7-10 两数之和 (30 分)
传送门这道题在题面上明确地给出了要求:用一重循环和字典来完成,第一版确实没有注意这个问题,于是就出现了下列问题,导致有测试点卡住过不去:a = list(map(int,input().split(",")))a.sort()flag = 0n = int(input())for i in range(len(a)): for j in range(i,len(a)): if a[i] + a[j] == n: print("%d %d"%(原创 2021-05-20 10:56:47 · 779 阅读 · 0 评论 -
Python 7-11 字典合并 (40 分)
传送门a = eval(input())#在这里,eval函数可以把str转成dictb = eval(input())c = {}for key,value in b.items(): a[key] = a.get(key,0)+value #get方法语法:dict.get(key,default=None),key-字典中要查找的值,default-如果指定键的值不存在时,返回该默认值d = sorted(a.items(),key = lambda item:item[原创 2021-05-20 10:34:26 · 2379 阅读 · 0 评论 -
Python 7-14 猴子选大王 (20 分)
传送门猴子选大王问题实质是约瑟夫环问题:一圈人进行报数,报到数字3的人出列(相当于被杀死)之后他后面的人再从0开始报数,如此循环往复,最后剩下的那个伙计就是最幸运的(也是这个问题中的大王),关于这个问题,b站有很详细的讲解:https://www.bilibili.com/video/BV1cV411e7ph?from=search&seid=9609394249167015402def choiceKing(maxNum,stepNum): data = [] delD原创 2021-05-09 10:55:42 · 2123 阅读 · 0 评论 -
Python 7-11 水仙花数(20 分)
传送门这题坑挺多的,下面一一介绍:①python中“/”和"//"是有区别的https://www.cnblogs.com/xingxyx/p/11811552.html②如果用直接使用math包中的pow函数是无法过第二个测试点的https://blog.youkuaiyun.com/Skyed_blue/article/details/89456201?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFr原创 2021-05-06 10:09:25 · 807 阅读 · 0 评论 -
浙江大学MOOC Python程序设计 精度问题
精度问题是C语言、Python语言循环结构部分经常出现的问题:7-2 求给定精度的简单交错序列部分和 (15 分)本题要求编写程序,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + ... 直到最后一项的绝对值不大于给定精度eps。输入格式:输入在一行中给出一个正实数eps。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。输入样例1:4E-2输出样例1:sum = 0.854457原创 2021-04-30 09:45:24 · 772 阅读 · 0 评论 -
python程序设计 7-7 最大公约数和最小公倍数 (15 分)
传送门求两个数的最大公约数和最大公倍数:用辗转相除法(欧几里得算法)原创 2021-04-29 11:00:55 · 1780 阅读 · 0 评论 -
浙江大学MOOC Python程序设计 转换函数使用 (30 分)
传送门思路:拆分数字,记录位数,转进制from pip._vendor.distlib.compat import raw_inputnum1,num2 = map(int, raw_input().split(','))cnt = 0a = []sum = 0while num1>0: a.append(num1%10) #print(num1%10) num1 = num1//10 cnt += 1for i in range(0,cnt):原创 2021-04-25 22:26:57 · 192 阅读 · 0 评论 -
浙江大学MOOC Python程序设计 输出斐波那切数列
n = int(input())list = []for i in range(n): if i==0 or i==1: list.append(1) else: list.append(list[i-2]+list[i-1])for i in range(n): print(list[i],end=" ")原创 2021-04-24 23:00:33 · 564 阅读 · 0 评论