Вопрос Помогите с python

Регистрация
17 Окт 2013
Сообщения
79
Репутация
1
Спасибо
1
Монет
0
x = int(input())

sum1 = x[0] + x[1] + x[2]

sum2 = x[3] + x[4] + x[5]

if sum1 == sum2:

print("Счастливый")

else:

print("Обычный")



Почему этот код не работает?
 
Пожалуйста имейте ввиду, что этот пользователь забанен
x = input()
if len(x) != 6:
print("Ошибка! Введите 6 цифр.")
else:
sum1 = int(x[0]) + int(x[1]) + int(x[2])
sum2 = int(x[3]) + int(x[4]) + int(x[5])

if sum1 == sum2:
print("Счастливый")
else:
print("Обычный")
 
x="123444"
sum1 = x[0] + x[1] + x[2]
sum2 = x[3] + x[4] + x[5]
if sum1 == sum2:
print("Счастливый")
else:
print("Обычный") Выдаст Обычный.
 
Потому что в нём ошибка
 
Проблема в вашем коде заключается в том, что вы пытаетесь обратиться к символам введенного числа `x` как к элементам списка, используя индексы `x[0]`, `x[1]` и так далее. Однако `x` является целым числом, а не списком символов.

Чтобы исправить код, вы можете преобразовать введенное число `x` в строку с помощью функции `str()`, а затем использовать индексы для доступа к отдельным символам. Вот исправленный код:

```python x = int(input())

x_str = str(x)

sum1 = int(x_str[0]) + int(x_str[1]) + int(x_str[2])

sum2 = int(x_str[3]) + int(x_str[4]) + int(x_str[5])

if sum1 == sum2:

print("Счастливый")

else:

print("Обычный")
```

Теперь код должен правильно работать, сравнивая сумму цифр в первой и второй половине введенного числа.
 
Назад
Сверху