
python基础学习
一打雪碧
这个作者很懒,什么都没留下…
展开
-
第4章-18 猴子选大王 (20 分)【约瑟夫环问题】
原题链接本题,实际上是约瑟夫环的问题。如果实打实的去模拟,那确实是有些费劲。不过该问题,有非常简单的算法。具体原理可以参考这篇文章约瑟夫环问题的公式解法本体代码如下n,pos = eval(input()),0for cnt in range(2,n+1): pos = (pos+3)%cntprint(pos+1)只要明白了公式的原理,其实代码是相当简洁的。...原创 2022-02-27 09:17:45 · 239 阅读 · 0 评论 -
第4章-15 换硬币 (20 分)【计算思维】
原题链接本题是计算思维的很好的例子,不要想着去找出一个算法,得到结果,而是让计算机去模拟整个换硬币的过程,比如说,给定的是14,则先将其全部换成5,可以换为2个5,还剩13-2*5 = 4,再将剩下的4换成最多的2,可以换2个2,但是此时,还剩下0元,换不成1了,所以不能将换完了5之后剩下的4全部换成2,而是换成1个2,还剩下2元,再换成两个1。即让计算机去模拟这个过程。代码x,cnt = eval(input()),0for cnt5 in range(x//5,0,-1): for c原创 2022-02-26 09:52:25 · 176 阅读 · 0 评论 -
第4章-7 统计学生平均成绩与及格人数 第三个测试点非零返回错误
原题链接这道题,我做的时候第三个测试点总是出错,为“非零返回”,但是我考虑到了N = 0的情况,但还是出错了。然后在网上看这道题的题解,发现别人也是考虑到了N = 0的情况。但是为什么我的代码总是出错?后来发现了,原来,出错的原因是当N = 0 的时候,此时的测试样例,只有一行。也即,代码中要在获取到 N 的值之后,接着就就是判断,N是否为0,如果为0,则不能再有获取第二行输入的代码了代码如下n = int(input())#先输入n,接下来,立刻判断n是否为0if n == 0: #n原创 2022-02-24 19:51:50 · 286 阅读 · 0 评论 -
数字的鲁棒输入
题目说明本题来自python123平台第8周测验里面的编程题。描述:老师给的代码如下num = input()try: if complex(num) == complex(eval(num)): print(eval(num)**2)except: print("输入有误")里面用到了 try except 异常捕获、complex()这道题,老师给的代码是不太容易理解的。complex()可以将给定的正确的数字、字符串转换为复数。...原创 2022-02-18 11:50:05 · 1314 阅读 · 0 评论 -
【题解】【PTA-Python题库】第4章-17 水仙花数(20 分) (20 分)不超时
原题链接直接贴代码n = int(input())for i in range(10**(n-1),10**n): if i == sum([int(c)**n for c in str(i)]): print(i)使用sum(),参数是list,运行不会超时原创 2022-01-15 18:14:03 · 604 阅读 · 0 评论 -
星号三角形
题目描述读入一个整数N,N是奇数,输出由星号字符组成的等边三角形,要求:第1行1个星号,第2行3个星号,第3行5个星号,依次类推,最后一行共N的星号输入5输出 * ********代码N = int(input())fo.原创 2022-01-11 20:38:39 · 372 阅读 · 0 评论