python挑战-输出字典key&& 输出字符奇数位置的字符串&&求解100以内的所有素数&&求中位数

python挑战-输出字典key

python挑战-输出字典key&& 输出字符奇数位置的字符串&&求解100以内的所有素数&&求中位数_第1张图片
开始写了个笨蛋方法因为忘记了用join()函数,join函数是可以决定输出元素时的分隔符号的哦

附我的笨蛋办法:
a={1:1,2:2,3:3}
lis=a.keys()
for i in sorted(lis):
if i!=sorted(lis)[-1]:
print(i,end=’,’)
else:
print(i)

输出字符奇数位置的字符串

气死我算了 其实很简单 但是该死的题目让我一错再错

在这里插入图片描述

#法一:

for i in range(0,len(a)):
    if i%2==0:
        print(a[i],end='')

#法二:

b = list()
for i in range(len(a)):
   if i % 2 == 0:
      b.append(a[i])
print(''.join(b))

#法三—切片:

print(a[::2]

切片真的太美妙了。。。明天起来再详细整一整

求解100以内的所有素数

python挑战-输出字典key&& 输出字符奇数位置的字符串&&求解100以内的所有素数&&求中位数_第2张图片

a=list('2')
for i in range(3,101):
    flag=1
    for n in a:
        if i%int(n)==0:
            flag=0
            break
    if flag==1:
        a.append(str(i))
print(' '.join(a))

希望以后自己能够记起用标志 flag 不然每次都会走弯路
还有就是 开始的代码是:(错误且笨)

a=list('2')
for i in range(3,101):
    flag=1
    for n in range(2,i+1):①
        if i%int(n)==0:②
            flag=0
            break
    if flag==1:
        a.append(str(i))
print(' '.join(a))

我想了很久 才发现有个问题是:①处n我取到了i也就是i本身,当然除得进了
还有个需要注意的问题是:②处一定要将n转化为int型

实际上,判断是否是素数,可以更加简化,直接将①处的改为:for n in a: 效率高得多

求中位数

在这里插入图片描述

L.sort()
if len(L)%2==1:
    print(L[int(len(L)/2)])
else:
    print((L[int(len(L)/2)]+L[int(len(L)/2-1)])/2.0)

你可能感兴趣的:(python挑战,python)