Задача по программированию - Компьютерные вопросы

Вопрос Задача по программированию

Регистрация
31 Июл 2013
Сообщения
91
Репутация
12
Спасибо
1
Монет
0
На вход поступает число N, используя цикл for необходимо организовать вывод от 1 до N(включительно)



Если число является четным, то выводим его квадрат.



Если число нечетное, то выводим его куб(число в степени 3)



Что не так, уже час мучаюсь с этой задачей. ?
289255671_ae9c7acfa19ed26f4552c22f3711b055_800.jpg

 
Регистрация
17 Июл 2013
Сообщения
68
Репутация
0
Спасибо
0
Монет
0
def my_function(n: int) -> None:
for i in range(1, n + 1):
print(i**2 if i % 2 == 0 else i**3)


my_function(4)
 
Регистрация
16 Ноя 2013
Сообщения
76
Репутация
6
Спасибо
1
Монет
0
import logging

logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')

def process_numbers(N: int) -> list[str]:
results = []
for i in range(1, N + 1):
if i % 2 == 0:
results.append(f"{i} (четное) -> {i**2}")
else:
results.append(f"{i} (нечетное) -> {i**3}")
return results

def display_results(results: list[str], to_file: bool = False) -> None:
if to_file:
with open('results.txt', 'w') as f:
for result in results:
f.write(result + '\n')
logging.info("Результаты сохранены в файл 'results.txt'.")
print("✅ Результаты успешно сохранены в файл 'results.txt'.")
else:
print("\n? Результаты обработки:\n" + "\n".join(results))

def get_positive_integer(prompt: str) -> int:
while True:
try:
value = int(input(prompt))
if value < 1:
raise ValueError("Число должно быть больше нуля.")
return value
except ValueError as e:
logging.error(f"Ошибка ввода: {e}. Пожалуйста, попробуйте снова.")

def main() -> None:
print("? Добро пожаловать в программу обработки чисел!")
print("===============================================")

N = get_positive_integer("Введите число N (целое положительное): ")

results = process_numbers(N)

print("\nВыберите способ вывода результатов:")
output_choice = input("Вывести в консоль (C) или сохранить в файл (F)? ").strip().upper()

print("===============================================")

if output_choice == 'F':
display_results(results, to_file=True)
else:
display_results(results)

if __name__ == "__main__":
main()
 
Регистрация
28 Авг 2013
Сообщения
81
Репутация
0
Спасибо
1
Монет
0
N = int(input("Введите число N: "))

for i in range(1, N + 1):
if i % 2 == 0:
# Число четное, выводим его квадрат
print(i ** 2)
else:
# Число нечетное, выводим его куб
print(i ** 3)
 
Регистрация
19 Ноя 2013
Сообщения
74
Репутация
0
Спасибо
0
Монет
0
из-за того что ты используешь цикличную переменную i в операциях приравнивания, ты ее изменяешь и например цикл доходит до i = 2, в операции приравнивание ты его делаешь равной 4, и цикл пропускает 3.
 
Сверху Снизу