浙大版《Python程序设计》题目集(第四章)
作者:互联网
num = eval(input())
for i in range(num + 1):
print("pow(",num,",",i,") = ",pow(num,i),sep = '')
M,N = map(int,input().split(" "))
count = 0
sum = 0
if M > 2:
for i in range(M,N + 1):
for j in range(2,i):
if i % j != 0:
flag = True
continue
else:
flag = False
break
if flag:
count = count + 1
sum = sum + i
elif M == 2:
for i in range(M + 1,N + 1):
for j in range(2,i):
if i % j != 0:
flag = True
continue
else:
flag = False
break
if flag:
count = count + 1
sum = sum + i
sum = sum + 2
count = count + 1
else:
for i in range(M + 2,N + 1):
for j in range(2,i):
if i % j != 0:
flag = True
continue
else:
flag = False
break
if flag:
count = count + 1
sum = sum + i
sum = sum + 2
count = count + 1
print(count,sum)
N = eval(input())
day = 1
peach = 1
while day < N:
peach = peach * 2 + 2
day = day + 1
print(peach)
#1不是素数
num = eval(input())
ls = [2]
dict = {}
for i in range(3,num):
for j in range(2,i):
if i % j != 0:
flag = True
continue
else:
flag = False
break
if flag:
ls.append(i)
for k in range(len(ls)):
for t in range(k + 1,len(ls)):
if(ls[k] + ls[t] == num):
dict.update({ls[k]:ls[t]})
new_dict = list(zip(dict.keys(),dict.values()))
p = new_dict[0][0]
q = new_dict[0][1]
print(num," = ",p," + ",q)
num = eval(input())
sum = 1
def function(n):
factor = 1
res = 1
for i in range(1,n + 1):
res = res * i
return res
for j in range(1,num + 1):
res = function(j)
sum = sum + 1/res
print(format(sum,'.8f'))
num = eval(input())
ls = [1,1]
cnt = 1
count = 0
while cnt <= num:
ls.append(ls[cnt-1] + ls[cnt])
cnt = cnt + 1
if num < 1:
print("Invalid")
else:
for t in range(num):
print("{:11d}".format(ls[t]),end = '')
count = count + 1
if count % 5 == 0:
print("\n")
num = eval(input())
pass_num = 0
sum = 0
score = input().split(" ")
for i in range(len(score)):
sum = sum + int(score[i])
if int(score[i]) >= 60:
pass_num = pass_num + 1
print("average = ",format(sum/num,".1f"),sep = '')
print("count = ",pass_num)
num = eval(input())
numerate = [2]
denominator = [1]
count = 1
sum = 0
while count <= num:
numerate.append(numerate[count - 1] + denominator[count - 1])
denominator.append(numerate[count - 1])
count = count + 1
for i in range(num):
sum = sum + numerate[i]/denominator[i]
print(format(sum,'.2f'))
print("[1] apple")
print("[2] pear")
print("[3] orange")
print("[4] grape")
print("[0] exit")
requests = input().split(" ")
ls = []
count = 0
for request in requests:
ls.append(request)
if len(ls) <= 5:
for i in ls:
if i == '1':
print("price = 3.00")
elif i == '2':
print("price = 2.50")
elif i == '3':
print("price = 4.10")
elif i == '4':
print("price = 10.20")
elif i == '0':
break
else:
print("price = 0.00")
elif len(ls) > 5:
for i in ls:
if i == '1':
print("price = 3.00")
count = count + 1
elif i == '2':
print("price = 2.50")
count = count + 1
elif i == '3':
print("price = 4.10")
count = count + 1
elif i == '4':
print("price = 10.20")
count = count + 1
elif i == '0':
count = 0
break
else:
print("price = 0.00")
count = count + 1
if count >= 5:
break
else:
continue
M,N = map(int,input().split(" "))
#最大公约数
#辗转相除法(欧几里得算法)
#算法思想:除数和余数反复做除法运算,当余数为0时,当前算数除数为最大公约数
A = M
B = N
if M < N:
t = N
N = M
M = t
r_gcd = M % N
while r_gcd:
M = N
N = r_gcd
r_gcd = M % N
gcd = N
#最小公倍数
r_lcm = A % B
if A < B:
t = B
B = A
A = t
if not r_lcm:
lcm = A
else:
i = A + 1
while not (i % B == 0 and i % A == 0):
i = i + 1
lcm = i
print(gcd,lcm)
num = eval(input())
count = 1
ls = []
prime_num = []
while count <= num:
t = eval(input())
ls.append(t)
count = count + 1
for i in ls:
for j in range(2,i):
if i % j == 0:
flag = False
break
else:
flag = True
continue
if flag:
prime_num.append(i)
for k in ls:
if k in prime_num:
print("Yes")
else:
print("No")
num = eval(input())
ls = [1,1]
for i in range(2,num):
res = ls[i - 1] + ls[i - 2]
ls.append(res)
for k in ls:
if k > num:
print(k)
break
else:
continue
error = eval(input())
#定义阶乘求解函数
def factorial(n):
res = 1
for i in range(1,n+1):
res = res * i
return res
j = 1
while j >= 1:
res1 = 1 / factorial(j)
if res1 < error:
break
else:
j = j + 1
continue
e = 1
for t in range(1,j + 1):
e = e + (1 / factorial(t))
print(format(e,'.6f'))
strs = ''
enter = 0
letter = 0
blank = 0
digit = 0
other = 0
while True:
str = input()
strs = strs + str
enter = enter + 1
if len(strs) + enter > 10:
enter = enter - 1
break
for i in strs:
if i.isdigit():
digit = digit + 1
elif i.isalpha():
letter = letter + 1
elif i == ' ':
blank = blank + 1
else:
other = other + 1
print("letter = ",letter,", blank = ",blank + enter,", digit = ",digit,", other = ",other,sep = '')
sum = eval(input())
count = 0
for i in range(sum // 5,0,-1):
for j in range(sum // 2,0,-1):
for k in range(sum // 1,0,-1):
if i * 5 + j * 2 + k * 1 == sum:
print("fen5:",i,"fen2:",j,"fen1:",k,"total:",i + j + k)
count = count + 1
print("count =",count)
a,b,c = map(int,input().split(" "))
if a + b > c and a + c >b and b + c > a:
print("yes")
else:
print("no")
#水仙花数
N = eval(input())
def function(num,N):
ls = []
mask = pow(10,N - 1)
while mask >= 1:
ls.append(num // mask % 10)
mask = mask // 10
return ls
if N == 3:
for i in range(100,1000):
sum = 0
order = function(i,N)
for j in order:
sum = sum + pow(j,N)
if sum == i:
print(i)
elif N == 4:
for i in range(1000,10000):
sum = 0
order = function(i, N)
for j in order:
sum = sum + pow(j,N)
if sum == i:
print(i)
elif N == 5:
for i in range(10000,100000):
sum = 0
order = function(i,N)
for j in order:
sum = sum + pow(j,N)
if sum == i:
print(i)
#猴子选大王
num = eval(input())
ls = []
for i in range(1,num + 1):
ls.append(i)
p = 0
index = 0
while len(ls) > 1:
p = 0
while p < len(ls):
if (index + 1) % 3 == 0:
ls.pop(p)
p = p - 1
index = 0
else:
index = index + 1
p = p + 1
for t in ls:
print(t)
num = eval(input())
count = 1
ls = []
sum = 0
while count <= num:
strs = input().split(" ")
ls.append(strs)
count = count + 1
for i in range(len(ls)):
for j in range(len(ls[i])):
if not(i + j == num - 1 or i == num - 1 or j == num - 1):
sum = sum + int(ls[i][j])
print(sum)
m,n = map(int,input().split(" "))
count = 1
ls = []
while count <= m:
rows= input().split(" ")
ls.append(rows)
count = count + 1
for i in range(len(ls)):
sum = 0
for j in range(len(ls[i])):
sum = sum + int(ls[i][j])
print(sum)
T = eval(input())
count = 1
num = 0
total = []
dimensions = []
while count <= T:
dimension = eval(input())
dimensions.append(dimension)
matrix = []
i = 1
while i <= dimension:
rows = list(map(int,input().split(" ")))
matrix.append(rows)
i = i + 1
total.append(matrix)
count = count + 1
for j in range(len(total)):
flag = False
cnt = 0
for p in range(dimensions[j]):
for q in range(dimensions[j]):
if p > q and total[j][p][q] != 0:
flag = False
cnt = cnt + 1
break
else:
if p < q:
continue
elif p == q and total[j][p][q] != 0:
flag = True
continue
elif p == q and total[j][p][q] == 0:
flag = False
cnt = cnt + 1
continue
elif p > q and total[j][p][q] == 0:
flag = True
continue
if flag and cnt == 0:
print("YES")
else:
print("NO")
#找鞍点(最大行值&最小列值)
import numpy as np
dimension = eval(input())
count = 1
matrix = []
cnt = 0
while count <= dimension:
rows = list(map(int,input().split(" ")))
matrix.append(rows)
count = count + 1
for row in range(len(matrix)):
row_max = max(matrix[row])
for col in range(len(matrix[row])):
if matrix[row][col] == row_max:
col_min = min(np.array(matrix)[:,col])#将二维列表转为numpy array类型,取出特定一列
if matrix[row][col] == col_min:
print(row,col)
cnt = cnt + 1
else:
break
else:
continue
if not cnt:
print("NONE")
#矩阵局部极大值
M,N = map(int,input().split(" "))
count = 1
matrix = []
cnt = 0
while count <= M:
rows = list(map(int,input().split(" ")))
matrix.append(rows)
count = count + 1
for row in range(len(matrix)):
for col in range(len(matrix[row])):
if row == 0 or row == len(matrix) - 1 or col == 0 or col == len(matrix[row]) - 1:
continue
else:
if matrix[row][col] > matrix[row - 1][col] and matrix[row][col] > matrix[row + 1][col]\
and matrix[row][col] > matrix[row][col - 1] and matrix[row][col] > matrix[row][col + 1]:
print(matrix[row][col],row + 1,col + 1)
cnt = cnt + 1
if not cnt:
print("None",len(matrix),len(matrix[0]))
#九九口诀表
N = eval(input())
for i in range(1,N + 1):
for j in range(1,i + 1):
print(i,"*",j,"=","{:^4}".format(i * j),sep = '',end = '')
print("\n")
num = eval(input())
i = num
start = ord('A')
while i > 0:
count = 0
for j in range(i):
print(chr(start + j),end = ' ')
count = count + 1
if count == i:
print("\n")
start = start + i
i = i - 1
factor = 1
sum = 0
num = eval(input())
for i in range(1,num + 1,2):
res = 1
for j in range(1,i + 1):
res = res * j
sum = sum + res
print("n=",num,",s=",sum,sep = '')
nums = list(map(int,input().split(" ")))
matrix = []
index = 0
for i in range(3):
j = 0
rows = []
while j < 3:
rows.append(nums[index])
index = index + 1
j = j + 1
matrix.append(rows)
for p in range(len(matrix)):
sum = 0
max = matrix[p][0]
for q in range(len(matrix[p])):
print("{:4}".format(matrix[p][q]),end = '')
sum = sum + matrix[p][q]
if matrix[p][q] > max:
max = matrix[p][q]
print("{:4}".format(max),"{:4}".format(sum))
nums = list(map(int,input().split(" ")))
matrix = []
index = 0
count = 0
for i in range(3):
j = 0
rows = []
while j < 3:
rows.append(nums[index])
index = index + 1
j = j + 1
matrix.append(rows)
for m in range(len(matrix)):
for n in range(m + 1,len(matrix[m])):
t = matrix[m][n]
matrix[m][n] = matrix[n][m]
matrix[n][m] = t
for p in range(len(matrix)):
for q in range(len(matrix[p])):
print("{:4}".format(matrix[p][q]),end = '')
count = count + 1
if count % 3 == 0:
print("\n")
#不是两个数组共有的元素
i = 1
ls = []
not_common = []
while i <= 2:
strs = list(map(int,input().split(" ")))
ls.append(strs[1::])
i = i + 1
if len(ls[0]) >= len(ls[1]):
for j in ls[1]:
if not (j in mot_common) and j not in ls[0]:
not_common.append(j)
else:
continue
for k in ls[0]:
if not(k in not_common) and k not in ls[1]:
not_common.append(k)
else:
for j in ls[0]:
if not(j in not_common) and j not in ls[1]:
not_common.append(j)
else:
continue
for k in ls[1]:
if not(k in not_common) and k not in ls[0]:
not_common.append(k)
for key in not_common:
print(key,end = ' ')
#找完数
m,n = map(int,input().split(" "))
all = []
factors = []
count = 0
for i in range(m,n + 1):
factor = []
sum = 0
part = []
for j in range(1,i):
if i % j == 0:
factor.append(j)
factors.append(factor)
for t in factor:
sum = sum + t
part.append(i)
part.append(sum)
all.append(part)
for p in range(len(all)):
if all[p][0] == all[p][1]:
count = count + 1
print(all[p][0],"= ",end = '')
for r in range(len(factors[p])):
if r == 0:
print(factors[p][r],end = '')
else:
print(" +",factors[p][r],end = '')
else:
continue
print("\n",end = '')
if not count:
print("None")
标签:count,Python,sum,浙大,range,num,ls,print,程序设计 来源: https://www.cnblogs.com/centimeter73/p/15463673.html