1034: 列表实现筛选法求素数
import math
list=[]
x=int(input())
def su(n):
for i in range(2,int(math.sqrt(n))+1):
if n%i==0:
return 0
return 1
t=0
i=x
while(1<i):
if su(i)==1:
list.append(i)
t+=1
if t==2:
break
i=i-1
list.reverse()
print(list)
最后用了一个reverse函数代表着列表的逆转。
1035: 圆周率的计算
利用撒点法
import random
n=int(input())
m=int(input())
random.seed(m)
t=0
for i in range(n):
x=random.random()
y=random.random()
if x**2+y**2<=1:
t+=1
print("{:.6f}".format(t/n*4))
调用是random.random!!!
1036: 凯撒密码
m=input()
n=int(input())
list=""
for i in range(len(m)):
if "a"<=m[i]<="z":
c=ord(m[i])-ord('a')
list+=chr((c+n)%26+ord('a'))
elif "A"<=m[i]<="Z":
c=ord(m[i])-ord('A')
list+=chr((c+n)%26+ord('A'))
else:
list+=m[i]
print(list)
注意字符串的建立以及字符对应unicode编码寻找函数ord
1037: 字符串重复判断
(在我看来这是一个难题)
1039: Life, the Universe, and Everything
l=[]
while(1):
n=int(input())
if n==42:
break
else:
l.append(n)
for i in range(len(l)):
print(l[i])
1040: 23333
n,p=map(int,input().split(" "))
list=['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']
lst=''
while(n!=0):
lst+=(list[n%p])
n=n//p
print(lst[::-1])
[::-1]用法我不知道是啥意思。。。。。。但这样就可以逆置字符串
这种进制转换的方法值得学习
1041: 整数数列求和
n,a=input().split(" ")
n=int(n)
s=0
for i in range(1,n+1):
s+=int(a*i)
print(s)
不知怎的一直显示结果报错,明明测试数据试过了都是对的。
1042: 星号三角形
m=int(input())
n=int((m-1)/2)+1
for i in range(1,n+1):
print(" "*(n-i)+'*'*(2*i-1)+" "*(n-i))
只有这样才能保证不报错
1043: 手机短号
n=int(input())
for i in range(n):
a=input()
if len(a)==11:
print('6'+a[-5:])
else:
print("Halation - I can't join it!")
1044: aaaa + bbbb
1046: 有理数四则运算1(有点离谱)
都不是所学的,要再了解一个库函数
from fractions import Fraction
s1=input()
s2=input()
a=Fraction(s1)+Fraction(s2)
c=str(a.numerator)
d=str(a.denominator)
print(c+'/'+d)
1050: 分级
m=int(input())
c=[]
c=list(map(int,input().split(" ")))
L,R=map(int,input().split(" "))
sum=0
for i in range(m):
sum+=c[i]
s=0
t=1
for i in range(m):
s+=c[i]
if L<=s<=R and L<=(sum-s)<=R:
print(i+2)
t=0
break
if t==1:
print('0')
这是正确的,但可能不是很严谨