Форум сайта python.su
здравствуйте друзья. Начал изучать язык программирования Python. Понравилось но многого не понимаю. И так же чтобы за меня код написали не хочу.
Запутался, если кто поймет то подскажите мне пожалуйста. Правильно ли у меня идет алгоритм, и как мне получить сумму кубов чисел если оно 3 значное или четырех заранее это не указано все вводится с руки
import math def Armstrong (x): res = [] resultO = [] i = 0 count = 0 str1 = (len(x)) for result in x: res.append(int(result)) while count < str1: while i < str1: result1 = pow(res[i],str1) print(result1) i+=1 resultO.append(result1) print(resultO) count +=1 str1 = input("Enter Integer Number ") Armstrong(str1)
Офлайн
Второй while не нужен.
Офлайн
py.user.nextТогда Я снова не понимаю что не так. Второй вайл ведь собирает значения из списка и возводит их в степень
Второй while не нужен.
Офлайн
Или же может кто знает где простенькие задания есть для питон, возможно еще сложное Я выбрал
Офлайн
yyyuuuТам надо использовать операцию += с результатом.
Второй вайл ведь собирает значения из списка и возводит их в степень
>>> def isarm(s): ... return int(s) == sum(i ** len(s) for i in map(int, s)) ... >>> isarm('153') True >>> isarm('154') False >>>
>>> def isarm(num): ... if num == 0: ... return True ... lst = [] ... length = 0 ... result = 0 ... tmp = num ... while tmp > 0: ... lst.append(tmp % 10) ... length += 1 ... tmp //= 10 ... for i in lst: ... result += i ** length ... return num == result ... >>> isarm(153) True >>> isarm(154) False >>>
In [1]: %paste
def isarm(num):
if num == 0:
return True
lst = []
length = 0
result = 0
tmp = num
while tmp > 0:
lst.append(tmp % 10)
length += 1
tmp //= 10
for i in lst:
result += i ** length
return num == result
## -- End pasted text --
In [2]: %timeit isarm(153)
100000 loops, best of 3: 3.51 us per loop
In [3]: %timeit isarm(154)
100000 loops, best of 3: 3.49 us per loop
In [4]:
In [1]: %paste
def isarm(s):
return int(s) == sum(i ** len(s) for i in map(int, s))
## -- End pasted text --
In [2]: %timeit isarm('153')
100000 loops, best of 3: 6.07 us per loop
In [3]: %timeit isarm('154')
100000 loops, best of 3: 6.11 us per loop
In [4]:
Отредактировано py.user.next (Июнь 16, 2017 04:37:02)
Офлайн
yyyuuuи обучение и задачи по теме урока
Или же может кто знает где простенькие задания есть для питон
Офлайн