Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 29, 2015 07:52:03

arancare
Зарегистрирован: 2013-02-11
Сообщения: 8
Репутация: +  1  -
Профиль   Отправить e-mail  

Не могу понять

n=raw_input()
if eval("+".join(n[:3])) == eval("+".join(n[3:])):
    print "Счастливый"
else:
    print "Обычный"

Отредактировано arancare (Сен. 29, 2015 07:53:57)

Офлайн

#2 Сен. 29, 2015 18:21:55

Originator
От: Харьков, Украина
Зарегистрирован: 2015-08-01
Сообщения: 29
Репутация: +  1  -
Профиль   Отправить e-mail  

Не могу понять

Со всем согласен, учусь, стараюсь, в меру сил и возможности. Надеюсь мой пост не ввел автора поста в заблуждение.
В оправдание чуток скажу, по поводу срезов к числу. Я сказал, что нельзя из числа, скажем 2015, путем среза присвоить переменной скажем 20.

 
>>> a=2015
>>> b=a[:2]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not subscriptable

Если не прав, научите.

Отредактировано Originator (Сен. 29, 2015 18:22:48)

Офлайн

#3 Сен. 29, 2015 19:37:28

arancare
Зарегистрирован: 2013-02-11
Сообщения: 8
Репутация: +  1  -
Профиль   Отправить e-mail  

Не могу понять

если очень хочется то через смену типов

>>> a=2015
>>> b=int(str(a)[:2])
>>> print type(a), type(b), "a=%s, b=%s"%(a, b)
<type 'int'> <type 'int'> a=2015, b=20

Офлайн

#4 Сен. 29, 2015 23:36:13

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Не могу понять

Originator
Если не прав, научите.
здесь все правильно. Операция среза не предусмотрена для стандартных типов данных int.
То что предлагают некоторые форумчане, это обходное решение. Но это о другом.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#5 Март 20, 2016 02:04:09

hottabov
Зарегистрирован: 2016-03-20
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу понять

Эта задача с курсов stepic.org и ее решение предполагается на основании тех знаний, которые были предоставлены ДО поставленной задачи.
Вариантов решений - масса, но предполагается, что в задаче будут использованы конструкции if-else, а также // и %.
Поэтому мое решение задачи такое:

a = int(input())
s1 = (a // 100000) + (a // 10000 % 10) + (a // 1000 % 10)
s2 = (a % 1000 // 100) + (a % 1000 // 10 % 10) + (a % 1000 % 10)
if s1 == s2:
    print("Счастливый")
else:
    print("Обычный")

Отредактировано hottabov (Март 20, 2016 02:40:15)

Офлайн

#6 Март 22, 2016 13:29:16

Vigi
От: Курья, Алтай
Зарегистрирован: 2015-02-07
Сообщения: 144
Репутация: +  8  -
Профиль   Отправить e-mail  

Не могу понять

number = list(map(int, input()))
print('Lucky' if sum(number[:3]) == sum(number[3:]) else 'Normal')

Отредактировано Vigi (Март 22, 2016 13:29:48)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version