Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите написать код на Python 8 класс

Игорь Вандалеев Ученик (101), закрыт 3 недели назад
Пользователь вводит два натуральных числа. Программа находит целую часть при делении первого на второе и остаток. Операции % и // использовать запрещается.
Лучший ответ
Андрей Высший разум (466108) 3 недели назад
 a, b, d = int(input()), int(input()), 0
while a >= b:
a -= b
d += 1
print('Частное:', d)
print('Остаток:', a)
Остальные ответы
FlooMeer Знаток (264) 3 недели назад
def divide_without_modulo(numerator, denominator):
"""Divides two integers without using % or // operators.

Args:
numerator: The dividend (integer).
denominator: The divisor (integer, must be non-zero).

Returns:
A tuple containing the quotient and remainder (both integers).
Returns an error message if the denominator is zero or inputs are not integers.

"""
if not isinstance(numerator, int) or not isinstance(denominator, int):
return "Error: Both inputs must be integers."
if denominator == 0:
return "Error: Cannot divide by zero."

quotient = 0
remainder = numerator

if numerator >=0 and denominator > 0: # Handle positive division
while remainder >= denominator:
remainder -= denominator
quotient += 1
elif numerator < 0 and denominator > 0: # Handle negative numerator, positive denominator
while remainder <= -denominator:
remainder += denominator
quotient -=1
elif numerator >=0 and denominator < 0: #Handle positive numerator, negative denominator
while remainder >= -denominator:
remainder += denominator
quotient -= 1
else: # Handle negative division
while remainder <= denominator:
remainder -= denominator
quotient += 1


return quotient, remainder


# Get input from the user
try:
num1 = int(input("Введите первое натуральное число: "))
num2 = int(input("Введите второе натуральное число: "))

if num1 <= 0 or num2 <=0:
print("Error: Please enter positive integers only.")
else:
quotient, remainder = divide_without_modulo(num1, num2)
print(f"Частное: {quotient}")
print(f"Остаток: {remainder}")

except ValueError:
print("Error: Invalid input. Please enter integers.")


Вот более лаконичный код:

def divide_without_modulo(numerator, denominator):
if not isinstance(numerator, int) or not isinstance(denominator, int):
return "Error: Both inputs must be integers."
if denominator == 0:
return "Error: Cannot divide by zero."

quotient = 0
remainder = abs(numerator)
divisor = abs(denominator)

while remainder >= divisor:
remainder -= divisor
quotient += 1

sign = -1 if (numerator < 0) ^ (denominator < 0) else 1 # XOR for sign
return sign * quotient, sign * remainder if numerator < 0 else remainder


#Input and error handling (unchanged)
try:
num1 = int(input("Введите первое натуральное число: "))
num2 = int(input("Введите второе натуральное число: "))

if num1 <= 0 or num2 <= 0:
print("Error: Please enter positive integers only.")
else:
quotient, remainder = divide_without_modulo(num1, num2)
print(f"Частное: {quotient}")
print(f"Остаток: {remainder}")

except ValueError:
print("Error: Invalid input. Please enter integers.")
ДмитрийПросветленный (27311) 3 недели назад
Ты гений?
Сергей Просветленный (43139) 3 недели назад
Если не боитесь увидеть во сне кошмар…
 n_one = int(input())  
n_two = int(input())
d = str(n_one / n_two).split(".")
d_one = int(d[0])
d_two = n_one - n_two * d_one if d[1] != 0 else d[1]
print(f"Целые: {d_one}; Остаток: {d_two}.")
Похожие вопросы