100 Python Interview Questions

100 Python Interview Questions

Post Date : 2024-06-08T21:14:36+07:00

Modified Date : 2024-06-08T21:14:36+07:00

Category: cheatsheet

Tags:

Question 1: Write a function to random an integer number in a specific range

Answer

#!/usr/bin/env python
import math
import random


# https://en.wikipedia.org/wiki/Mersenne_Twister

def random_a_number_in_range(range):
    start = int(range[0])
    end = int(range[1])

    if end <= start:
        return
    # numberOfDigits = len(str(end))
    # random function will return a float number between 0 and 1
    # randomNumber = int(random.random() * math.pow(10, numberOfDigits))
    randomNumber = int(random.random() * end)

    if randomNumber < start:
        return start

    return randomNumber


if __name__ == "__main__":
    range1 = [1, 9]
    number1 = random_a_number_in_range(range1)
    testNumber1Value = "Valid" if number1 >= range1[0] and number1 <= range1[1] else "Invalid"
    print(f"Range: {range1} Number 1 is : {number1}, {testNumber1Value}")

Question 02: Create a generate strong password function

#!/usr/bin/env python
import random


def get_alphabet():
    alphabet = ""
    c = ord("a")
    while c <= ord("z"):
        alphabet += chr(c)
        c += 1

    return list(alphabet)


def get_symbols():
    return list("!@#$%^&*()_+:\"?><~+-=_")


def get_digits():
    digits = []
    i = 0
    while i <= 9:
        digits.append(i)
        i += 1
    return digits


def generate_symbol():
    symbols = get_symbols()
    return random.choice(symbols)


def generate_letter():
    letters = get_alphabet()
    return random.choice(letters)


def generate_digit():
    digits = get_digits()
    return random.choice(digits)


def generate_character(ctype):
    if ctype == "letter":
        letter = generate_letter()
        return letter if random.randint(0, 1) % 2 == 0 else str(letter).upper()
    elif ctype == "symbol":
        return generate_symbol()
    elif ctype == "digit":
        return str(generate_digit())
    return ""


def generate_strong_password(number_of_letters, number_of_symbols, number_of_digits):
    password = []
    for c in range(1, number_of_letters + 1):
        password.append(generate_character("letter"))
    for c in range(1, number_of_symbols + 1):
        password.append(generate_character("symbol"))
    for c in range(1, number_of_digits + 1):
        password.append(generate_character("digit"))
    random.shuffle(password)
    output = ""
    for c in password:
        output += c
    return output


if __name__ == "__main__":
    password = generate_strong_password(6, 2, 2)
    print(password)

Question 3: Reeborg Challenge

image

def turn_right():
    turn_left()
    turn_left()
    turn_left()

def is_wall_on_right():
    turn_right()
    is_wall_in_front = wall_in_front()
    turn_left()
    return is_wall_in_front

def jump():
    turn_left()
    up = 0
    while is_wall_on_right():
        move()
        up += 1
    turn_right()
    move()
    turn_right()
    for m in range(0,up):
        move()
    turn_left()
def go():
    move()

while not at_goal():
    if not wall_in_front():
        go()
    if wall_in_front():
        jump()
You Might Also Like