Python-Kontrollstruktur (2)※

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 nungü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( nnicht kleiner als ) 0berechnet und zurückgibt n.

Wenn nungü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)


Supongo que te gusta

Origin blog.csdn.net/qq_43659681/article/details/124903494
Recomendado
Clasificación