DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

Cover image for 5 recruitment tasks with Python
Deotyma
Deotyma

Posted on • Updated on

5 recruitment tasks with Python

At this moment I'm seeking a work-study job (alternance in french) as a programmer so I have to pass lots of tests each day and I decided to show you some of them this time with Python. Here This is only one solution, there is lots of solution for each of those problems so try your own solution.

1) Write a function that will print even numbers:

Solution 1 - while loop:

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

evenNumbers(10)
Enter fullscreen mode Exit fullscreen mode

Solution 2 - for loop:

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

evenNumbers2(10)

Enter fullscreen mode Exit fullscreen mode

Solution 1

2) Find a prime number:

Solution:

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))

Enter fullscreen mode Exit fullscreen mode

is prime number function

So we know how to find if a number is prime we can use it to find a prime number in a range:

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


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

Enter fullscreen mode Exit fullscreen mode

all prime numbers in a range of 100

3) How to know if a number is a palindrome:
Solution:

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)
Enter fullscreen mode Exit fullscreen mode

function palindrome number

4) Fizz Buzz is one of most favorite exercises given to juniors and not only:

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) 
Enter fullscreen mode Exit fullscreen mode

fizz_buzz function

Yes, I know it is better and proper to use "return" than "print" πŸ˜‰

5) This exercise was more difficult for me to understand: Fibonacci. Here I will show you 3 solutions:

Solution 1 - recursive function:

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))
Enter fullscreen mode Exit fullscreen mode

Solution 2 - iterative function

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))

Enter fullscreen mode Exit fullscreen mode

iterative function fibonacci

Solution 3 - function with generator

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 = ", ")

Enter fullscreen mode Exit fullscreen mode

These are just 5 tasks that I encountered during various recruitment tests and are only examples of solutions. If you have other suggestions, don't hesitate to leave a comment.

Top comments (0)

🌚 Life is too short to browse without dark mode