1. Themendetails
erste Frage
Schreiben Sie den Code an die angegebene Stelle, um eine Funktion zu implementieren, die die akkumulierte Summe von 1 bis n gemäß der eingegebenen Ganzzahl n
( ) berechnet und zurückgibt.n≥0
Wenn n
ungültig, gib aus None
.
zweite Frage
Schreiben Sie Code an der angegebenen Stelle, um eine Funktion zu implementieren, die die Fakultät basierend auf der eingegebenen Ganzzahl n
( n
nicht kleiner als ) 0
berechnet und zurückgibt n
.
Wenn n
ungültig, gib aus None
.
dritte Frage
Schreiben Sie Code an der angegebenen Stelle, um eine Funktion zu implementieren. Die Funktion soll beurteilen, ob die angegebene Ganzzahl eine Primzahl ist.
vierte Frage
Schreiben Sie Code an der angegebenen Stelle, um eine Funktion mit derselben Funktion wie die folgende mathematische Funktion zu implementieren.
fünfte Frage
Schreiben Sie an der angegebenen Stelle Code, um eine Funktion zu implementieren, die die persönliche Einkommensteuer gemäß der folgenden Tabelle berechnet.
Jährliches Einkommen | Steuersatz |
---|---|
0~47.449 | 22% |
47450 – 114.649 | 25% |
114.650 – 174.699 | 28% |
174.700 – 311.949 | 33% |
311.950~ | 35% |
Zweitens, der Code
from random import *
from math import *
r = []
for i in [10, 200,300,400,500,600,700,800,900,1000]:
seed(i)
r.append(randint(1, i))
def print_(x):
if type(x) == float:
print("%.4f" % x)
else:
print(x)
#第一题
def sumInt(n):
#请在下面编写代码
# ********** Begin ********** #
summary = 0
if n < 0:
summary = None
else:
for i in range(n+1):
summary += i
# ********** End ********** #
#请不要修改下面的代码
return summary
#第二题
def factorial(n):
#请在下面编写代码
# ********** Begin ********** #
fac = 1
if n < 0:
fac = None
else:
for i in range(1,n + 1): # 因为0的阶乘是1,所以rang(n),range(n+1)都不对
fac *= i
# ********** End ********** #
#请不要修改下面的代码
return fac
#第三题
def isPrime(n):
# 请在下面编写代码
# ********** Begin ********** #
isprime = True
if n == 1:
isprime = False
else:
for i in range(2, int(pow(n, 0.5)) + 1):
if n % i == 0:
isprime = False
# ********** End ********** #
# 请不要修改下面的代码
return (isprime)
#第四题
def f(x):
# 请在下面编写代码
# ********** Begin ********** #
fx = 0
if -10 <= x < -8:
fx = x - 2
elif -8 <= x <-6:
fx = x + 3
elif -6 <= x <= -2:
fx = x * x
elif -2 < x < 2:
fx = abs(x)
elif 2 <= x <= 4:
fx = x ** 3
elif 4 < x <= 6:
fx = 3 * x - 4
elif 6 < x <= 8:
fx = 4 * x + 1
# ********** End ********** #
# 请不要修改下面的代码
return fx
#第五题
def tax(salary):
#请在下面编写代码
# ********** Begin ********** #
salaTax = 0
if 0 <= salary <=47449:
salaTax = salary * 0.22
elif 47450 <= salary <=114699:
salaTax = salary * 0.25
elif 114650 <= salary <=174699:
salaTax = salary * 0.28
elif 174700 <= salary <=311949:
salaTax = salary * 0.33
elif salary >= 311950:
salaTax = salary * 0.35
# ********** End ********** #
# 请不要修改下面的代码
return salaTax
if __name__ == '__main__':
for num in [-10, 0, 10, 100, 1000, 10000]:
summary = sumInt(num)
print(summary)
print('\n***********************\n')
for num in [-5, 0, 10, 15, 20, 25, 30]:
fac = factorial(num)
print(fac)
print('\n***********************\n')
for num in r:
isprime = isPrime(num)
print(isprime)
print('\n***********************\n')
for x in [-9, -8, -7, -6, -5, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8]:
fx = f(x)
print(fx)
print('\n***********************\n')
for salary in [-1000, 0, 40000, 47450, 98000, 114650, 14980, 17470, 25670, 311950, 360000]:
st = tax(salary)
print_(st)