Обьясните в чем ошибка ? python - Общение Python мододелов

Вопрос Обьясните в чем ошибка ? python

Регистрация
29 Май 2013
Сообщения
82
Репутация
2
Спасибо
0
Монет
0
Вот правильный код :

for i in range(1000, 10000):

s = str(i)

k1 = int(s[0]) + int(s[1])

k2 = int(s[1]) + int(s[2])

k3 = int(s[2]) + int(s[3])

first = str(k1 + k2 + k3 - max(k1, k2, k3) - min(k1, k2, k3))

second = str(max(k1, k2, k3))

s1 = first + second

if s1 == '1215':

print(i)

break



Вот который я написал по памяти.

for i in range (1000,10000):

s=str(i)

k1=str(s[0])+str(s[1])

k2=str(s[1])+str(s[2])

k3=str(s[2])+str(s[3])

first = str(k1 + k2 + k3 - max(k1,k2,k3) - min(k1,k2,k3))

second = str(max(k1,k2,k3))

s1=first+second

if s1=='1215':

print(i)

break

Сверил вроде все правильно. Но в ошибке пишет что операнд :- не состыковывается с str.



Какой даун придумал python.
 
Регистрация
8 Авг 2013
Сообщения
84
Репутация
0
Спасибо
0
Монет
0
Какой даун придумал python.
И тут ты видишь:for i in range (1000,10000):
s=str(i)
k1=str(s[0])+str(s[1])
k2=str(s[1])+str(s[2])
k3=str(s[2])+str(s[3])
=))))
 
Регистрация
14 Ноя 2013
Сообщения
75
Репутация
0
Спасибо
0
Монет
0
тут дело не в человеке, который придумал питон, а вас, вы во-первых бездумно копируете код, а во-вторых неправильно.
Должно быть так: k1 = int(s[0]) + int(s[1])
k2 = int(s[1]) + int(s[2])
k3 = int(s[2]) + int(s[3]) А у вас место int другой тип - str.
Выходит, что дело в вас
 
Регистрация
2 Авг 2013
Сообщения
80
Репутация
0
Спасибо
0
Монет
0
В первом случае числа суммируются, у вас строки
Копипастье уж полностью k1 = int(s[0]) + int(s[1])
k2 = int(s[1]) + int(s[2])
k3 = int(s[2]) + int(s[3]) k1=str(s[0])+str(s[1])
k2=str(s[1])+str(s[2])
k3=str(s[2])+str(s[3]) А тут идет вычитание строк, что в принципе невозможно, питон тут ни при чем. Как вы себе видите разность строк? first = str(k1 + k2 + k3 - max(k1,k2,k3) - min(k1,k2,k3))
 
Сверху Снизу