Lv.1
[滑稽]
签名:这个人不懒,但什么也没说
在 算法第30层,求教 中回复
n=int(input())
a=1
l=[1]
for i in range(2,n+1):
a1=a-i
if a1<=0 or a1 in l:
a1=a+i
a=a1
l.append(a)
print(a)2020-03-03T22:29:24 点赞:1
在 【Python作品分享】质数查找器【作品秀】 中回复
我在本机Python上实际运行了一下,发现几个问题:
1、我输入 print(查找质数(7, 97)) ,结果7没出来,97有出来,范围最小值到底包不包含?
2、我输入 print(查找质数(3, 97)) ,结果2、3都出来,这是不是前后不一致?你只要边值仔细调一下就OK了
3、第17行(发现编程喵坛的代码展示框要改进,都没有显示行号)“print(((number / 范围最大值) * 100), '%')”这个是什么鬼?如果是展示进度,建议int或round一下,避免1.0999999999999999 % 这种格式出现,让人眼花。此外,在这个地方展示进度,可能出现的问题是:展示得很频繁,这个占用不少时间。展示的不均匀,前面多,后面少。
4、最后让我受不了的是,第11-14行,这个神操作!直接 YN=False break不行吗?
5、另一个优化建议是当i*i>number时,也可以停止检查是否质数了。
可以看一下我以前的贴子:https://shequ.codemao.cn/community/230273
还等什么?快关注我, 炼金树枝吧!
2020-03-08T18:23:06 点赞:0
在 用算法分析赛位排名 中回复
之前是我第一次发代码的贴,没有格式化,今天代码格式好来再发一下S5赛季的分析。
#排行
#“,”换行
ph = {"秋葵":969,
"Defined":968,
"炼金树枝":619,
"旋风2005":250,
"欠王迷":244,
"33工作小号":236,
"屋下宇宙":182,
"ColdMao":154,
"吧唧咕 吃货":148,
"热情的麦霸菇71...":142}
#距离
jl = {}
#归类
gl = {}
#中间点
zjd = [250, 150, 130]
while True:
for i in ph:
#初始化为非常大
jl.update({i: 9998})
for j in range(len(zjd)):
jl0 = abs(ph.get(i)-zjd[j])
if jl0 < jl.get(i):
#如果当前距离小于之前的距离,更换距离
jl.update({i: jl0})
gl.update({i: zjd[j]})
#是否有变更
b=False
#计算新的中间点
for j in range(len(zjd)):
#累加和
s = 0
#计数
c = 0
for i in gl:
if gl.get(i) == zjd[j]:
s += ph.get(i)
c += 1
if c!=0:
#不为零
s=round(s/c,2)
if abs(zjd[j]-s) > 0.01:
#如果新中心点s与原来的
zjd[j] = s
b = True
if b == False:
#没有变更,退出循环
break
td=0
for i in gl:
if td!=gl.get(i):
print()
print(str(gl.get(i)) + ":", end="")
td=gl.get(i)
print(i, end=" ")
运行结果:
852.0:秋葵 Defined 炼金树枝
243.33:旋风2005 欠王迷 33工作小号
156.5:屋下宇宙 ColdMao 吧唧咕 吃货 热情的麦霸菇71...
与秋葵 Defined差那么多分,还可以进入第一组,暗喜!
2020-03-08T19:03:22 点赞:0