26.求100之内的素数。
for i in range(2,101):
for j in range(2,i):
if i % j==0:
break
else:
print(i)
27.对10个数进行排序。这里用的是冒泡法
if __name__ == "__main__":
N = 10
# input data
print ('请输入10个数字:\n')
l = []
for i in range(N):
l.append(int(input('输入一个数字:\n')))
print()
for i in range(N):
print(l[i])
print()
# 排列10个数字
for i in range(N - 1):
min = i
for j in range(i + 1,N):
if l[min] > l[j]:min = j
l[i],l[min] = l[min],l[i]
print ('排列之后:')
for i in range(N):
print (l[i])
28.求一个3*3矩阵主对角线元素之和。
import numpy as np
a=np.random.randint(1,100,9).reshape(3,3)
print(a)
(m,n)=np.shape(a)
sum=0
for i in range(m):
for j in range(n):
if i==j:
sum+=a[i,j]
print(sum)
29.两个 3 行 3 列的矩阵,实现其对应位置的数据相加,并返回一个新矩阵:(使用numpy更快)
x = [[12,7,3],
[4,5,6],
[7,8,9]]
y = [[5,8,1],
[6,7,3],
[4,5,9]]
z= []
for i in range(3):
z.append([])
for i in range(3):
for j in range(3):
z[i].append(x[i][j]+y[i][j])
print(z)
30.求输入数字的平方,如果平方运算后小于 50 则退出。
a=1
while a:
n=int(input('num:'))
if n*n<50:
a=0
print(n*n)
else:
a=1
print(n*n)
31.杨辉三角
l=[1]
for i in range(10):
for k in l:
print(k,end='\t')
print('\n ')
l1=l[:]
l1.insert(0,0)
l1.append(0)
l2=[]
for i in range(len(l1)-1):
l2.append(l1[i]+l1[i+1])
l=l2[:]
32.输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。(numpy中的argmax,argmin更好用)
for i in range(len(a)):
if a[i] == max(a):
a[0], a[i] = a[i], a[0]
for i in range(len(a)):
if a[i] == min(a):
a[i], a[len(a)-1]=a[len(a)-1], a[i]
33.有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
if __name__ == '__main__':
nmax = 50
n = int(raw_input('请输入总人数:'))
num = []
for i in range(n):
num.append(i + 1)
i = 0
k = 0
m = 0
while m < n - 1:
if num[i] != 0 : k += 1
if k == 3:
num[i] = 0
k = 0
m += 1
i += 1
if i == n : i = 0
i = 0
while num[i] == 0: i += 1
print num[i]
34.海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
if __name__ == '__main__':
i = 0
j = 1
x = 0
while (i < 5) :
x = 4 * j
for i in range(0,5) :
if(x%4 != 0) :
break
else :
i += 1
x = (x/4) * 5 +1
j += 1
print x
35.编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n
def sumfr(n):
ls = [1/i for i in range(n,0,-2)]
return sum(ls)
36.求0—7所能组成的奇数个数。
if __name__ == '__main__':
sum = 4
s = 4
for j in range(0,7):
print (sum)
if j <= 0:
s *= 7
else:
s *= 8
sum += s
print ('sum = %d' % sum)
37.输入一个奇数,然后判断最少几个 9 除于该数的结果为整数。
x=int(input('sum:'))
a=9
n=1
while 1:
if a%x==0:
break
else:
a=a*10+9
n+=1
print(n)
38.读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*
for i in range(7):
a=int(input('num:'))
if a>1 and a<50:
print(a*'*')
39.某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
b=[]
a=[2,3,1,4]
a[0], a[3]=a[3], a[0]
a[2], a[1]=a[1],a[2]
for i in range(4):
b.append([])
for j in range(4):
b[i]=(a[i]+5)%10
print(b)
网友评论