Прошу помощи с задачей онлайн - курса по программированию на языке Python с сайта coursera.org
Суть задачи: По данному натуральному n вычислите сумму 1²+2²+3²+...+n².
Формат ввода
Вводится натуральное число.
Формат вывода
Выведите ответ на задачу.
Примеры:
Тест 1
Входные данные:
1
Вывод программы:
1
Тест 2
Входные данные:
2
Вывод программы:
5
Тест 3
Входные данные:
3
Вывод программы:
14
Посылаю им вот такой код:
a = 1
s = 0
while a < 3:
a = int(input())
s = s + a**2
print(s)
Их проверяющая система выдает:
Test 1
input:
1
Runtime error
Подскажите пожалуйста, что не так? Не понимаю в чем ошибка. В PyCharm код работает правильно.
Python
Программирование на Python
> В PyCharm код работает правильно.
это неправда
это неправда
На вход даётся всего (внимание!!!) одно число. В цикле оно считалось один раз, на второй раз - Runtime Error, так как читать нечего, вход пустой. В общем, весь цикл не имеет смысла.
Вы, наверное, задание неправильно поняли: на входе будет не 1, 2, 3, а одно любое конкретное число n. Нужно сложить квадраты всех чисел из промежутка [1;n]. То есть, если на входе 7, то сумма будет такой: s = 1^2 + 2^2 + 3^2 + 4^2 + 5^2 + 6^2 + 7^2
Вы, наверное, задание неправильно поняли: на входе будет не 1, 2, 3, а одно любое конкретное число n. Нужно сложить квадраты всех чисел из промежутка [1;n]. То есть, если на входе 7, то сумма будет такой: s = 1^2 + 2^2 + 3^2 + 4^2 + 5^2 + 6^2 + 7^2
С чего вдруг взялось a < 3 ???a <= n! Ну и a += 1
seq_sum = lambda n: 0 if n < 1 else n**2 + seq_sum(n - 1)
print(seq_sum(int(input())))
seq_sum = lambda n: 0 if n < 1 else n**2 + seq_sum(n - 1)
print(seq_sum(int(input())))
def foo(a):
..if a>1:
....return a*a+foo(a-1)
..else:
....return 1
print(foo(1))
print(foo(2))
print(foo(3))
..if a>1:
....return a*a+foo(a-1)
..else:
....return 1
print(foo(1))
print(foo(2))
print(foo(3))
Хз
Runtime error значит незавершенность или зацикливание программы. У тебя идет зацикливание. То есть а никогда не будет больше или равно 3. Тебе нужно переделать программу так, чтобы она завершалась. Поставь в конце break или end().
a = 1
s = 0
while a < 3:
a = int(input())
s = s + a**2
print(s)
break
a = 1
s = 0
while a < 3:
a = int(input())
s = s + a**2
print(s)
break
Капылов Виктор
не работает все равно. Если поставить break в конце кода, то при вводе 2, вывод 4, что не верно.
Скажи название задания и тему. Кину тебе решение
Игорь Терно
Сумма квадратов...
Это же очевидно наверное
Это же очевидно наверное
Rahmankul Niazaliev
Факториалов, а не квадратов... Видимо, не очевидно)
e = 7
i = 0
for e in range(e):
e += 1
i = i + e ** 2
print (i)
чот тут все намудрили, все же просто
i = 0
for e in range(e):
e += 1
i = i + e ** 2
print (i)
чот тут все намудрили, все же просто
Похожие вопросы
- Программирование на Python
- Стоит ли начинать изучение языков программирования с "Python"?
- Заработок на программирование в Python
- Программирование на Python
- Помогите пожалуйста с программированием на Python
- Программирование на Python
- Программирование на Python
- Про программирование на python как работает ИИ
- Программирование на Python
- Программирование на Python
Во всяком случае это говорит о том что твой код ненадежный. Попробуй переписать скрипт через for и функцию range, так гораздо нагляднее и проще для понимания