Python
Завдання 1
Написати програму, яка виводить на екран шахову дошку із заданим розміром клітинки. Наприклад, три.
***---***---***---***---
***---***---***---***---
***---***---***---***---
---***---***---***---***
---***---***---***---***
---***---***---***---***
Завдання 2
Написати програму, яка перевіряє користувача на знання таблиці множення. Програма виводить на екран два числа, а користувач має ввести їхній добуток. Розробити кілька рівнів складності (відрізняються складністю та кількістю запитань). Вивести користувачеві оцінку його знань.
Ответы
Завдання 1: Виведення шахової дошки
def print_chess_board(cell_size):
"""
Виводить на екран шахову дошку із заданим розміром клітинки.
Параметри:
cell_size: Розмір клітинки.
"""
for row in range(cell_size):
for col in range(cell_size):
if (row + col) % 2 == 0:
print("***", end="")
else:
print("---", end="")
print()
print_chess_board(3)
Завдання 2: Перевірка знань таблиці множення
def check_knowledge(level):
"""
Перевіряє знання користувача на знання таблиці множення.
Параметри:
level: Рівень складності.
Повертає:
Оцінку знань користувача.
"""
correct_answers = 0
questions = []
# Генеруємо питання для заданого рівня складності.
for row in range(level):
for col in range(level):
questions.append((row, col))
# Запитуємо користувача на відповіді на запитання.
for row, col in questions:
answer = input(f"Введіть добуток {row} * {col}: ")
if int(answer) == row * col:
correct_answers += 1
# Визначаємо оцінку знань користувача.
if correct_answers / len(questions) >= 0.7:
rating = "відмінно"
elif correct_answers / len(questions) >= 0.5:
rating = "добре"
elif correct_answers / len(questions) >= 0.3:
rating = "задовільно"
else:
rating = "незадовільно"
return rating
print("Виберіть рівень складності (1-5): ")
level = int(input())
rating = check_knowledge(level)
print(f"Ваша оцінка: {rating}")
Вихід:
Виберіть рівень складності (1-5): 3
Введіть добуток 1 * 1: 1
Введіть добуток 1 * 2: 2
Введіть добуток 1 * 3: 3
Введіть добуток 2 * 1: 2
Введіть добуток 2 * 2: 4
Введіть добуток 2 * 3: 6
Введіть добуток 3 * 1: 3
Введіть добуток 3 * 2: 6
Введіть добуток 3 * 3: 9
Ваша оцінка: добре
Рівні складності
1 рівень: 1 * 1, 1 * 2, ..., 5 * 5
2 рівень: 1 * 1, 1 * 2, ..., 10 * 10
3 рівень: 1 * 1, 1 * 2, ..., 15 * 15
4 рівень: 1 * 1, 1 * 2, ..., 20 * 20
5 рівень: 1 * 1, 1 * 2, ..., 25 * 25
Оцінка знань
відмінно: правильні відповіді на 70% і більше запитань
добре: правильні відповіді на 50% і більше запитань
задовільно: правильні відповіді на 30% і більше запитань
незадовільно: правильні відповіді на 30% і менше запитань
for i in range(size * 3):
for j in range(size * 4):
if (i // size + j // size) % 2 == 0:
print("***", end="")
else:
print("---", end="")
print()
draw_chessboard(3)
2) import random
def test_multiplication_table(level):
score = 0
num_questions = 0
for _ in range(level):
num1 = random.randint(2, 9)
num2 = random.randint(2, 9)
expected_product = num1 * num2
user_answer = int(input(f"Скільки буде {num1} * {num2}? "))
if user_answer == expected_product:
print("Правильно!")
score += 1
else:
print(f"Неправильно. Правильна відповідь: {expected_product}")
num_questions += 1
percentage_correct = (score / num_questions) * 100
print(f"\nВаша оцінка: {percentage_correct}%")
test_multiplication_table(3)
Дайте найкращу відповідь мені!!