Python을 사용한 5가지 채용 작업

현재 저는 프로그래머로서 근로 연구 직업(불어 교대 근무)을 찾고 있어서 매일 많은 테스트를 통과해야 하는데 이번에는 그 중 일부를 Python으로 보여드리기로 했습니다. 이것은 하나의 솔루션일 뿐이며 각 문제에 대한 많은 솔루션이 있으므로 자신의 솔루션을 시도하십시오.

1) 짝수를 출력하는 함수를 작성하세요.

솔루션 1 - while 루프:

def evenNumbers(number):
    n=0
    while n < number:
        n += 1
        if n % 2 == 0:
            print(n, end="\t")

evenNumbers(10)


해결 방법 2 - for 루프:

def evenNumbers2(number):
    numbers = range(0, number+1)
    for n in numbers:
        if n % 2 == 1:
            continue
        print(n, end="\t")

evenNumbers2(10)





2) 소수 찾기:

해결책:

def isPrimeNumber(number):
    if number > 1:
        for i in range(2,number):
            if number % i == 0:
                #print(f"{i} times {number//i} is {number}")
                #print(f"{number} is not a prime number")
                return False    
        return True
    else:
        return False    

print("7 is prime", isPrimeNumber(7))
print("9 is prime", isPrimeNumber(9))





따라서 숫자가 소수인지 확인하는 방법을 알고 있으므로 범위에서 소수를 찾는 데 사용할 수 있습니다.

def allPrimeNumbers(num):
    for i in range(num + 1):
        if isPrimeNumber(i):
            print(i, end = ", ")


print("prime numbers to 100")
allPrimeNumbers(100)





3) 숫자가 회문인지 확인하는 방법:
해결책:

def palindrome_number (number):
    number_str = str(number) # it is necessary to change the number to string to compare each digit
    number2_str = number_str[::-1] # number2_str is renversed by [::–1] slice which starts from last sign

    if number_str == number2_str:
        print(f"{number} this is a palindrome")
    else:
        print(f"{number} isn't a palindrome")  

palindrome_number(123321)




4) Fizz Buzz는 후배들이 가장 좋아하는 운동 중 하나이며 다음과 같습니다.

def fizz_buzz(number):
    for i in range(1, number+1):
        if i % 3 == 0 and i % 5 == 0:
            print("fizzBuzz",end=", ")
        elif i % 3 == 0:
            print ("fizz",end=", ")
        elif i % 5 == 0:
            print ("buzz",end=", ")
        else:
            print (i,end=", ")

fizz_buzz(20) 




예, "인쇄"보다 "반환"을 사용하는 것이 더 좋고 적절하다는 것을 알고 있습니다 😉

5) 이 운동은 제가 이해하기 더 어려웠습니다: 피보나치. 여기에서 3가지 솔루션을 보여드리겠습니다.

솔루션 1 - 재귀 함수:

def fib_r(n):
    assert n>=0
    if n<=1: 
        return n
    else:
        return fib_r(n-1)+fib_r(n-2)

print(fib_r(10))


솔루션 2 - 반복 함수

def fib_i(num):
    a, b = 0,1 

    for i in range(0, num):
        a, b = b, a + b
        print(a, end= ", ")

print(fib_i(10))





해결 방법 3 - 생성기 기능

def fib_g():
    yield 0
    a=0
    b=1
    while True:
        yield b
        a,b = b,a+b

g=fib_g()

for i in range (11): 
    print( next(g), end = ", ")



이것은 다양한 채용 테스트에서 만난 5가지 작업이며 솔루션의 예일 뿐입니다. 다른 제안 사항이 있으면 주저하지 말고 의견을 남겨주세요.

좋은 웹페이지 즐겨찾기