int и float не работают
Когда пишу sum(int(s)) - не получается
Как сделать чтобы посчиталась сумма цифр в этой строке?
Python
На входе строка s = '3' + n * '5'. В конце сумма её цифр должна быть равна 27. Как преобразовать эту строку в число?
Зачем тут строка s, на каком таком она входе и почему это вдруг int не работает при её преобразовании в число? У Вас написано:
Если же перед Вами, скажем, стоит задача найти такое минимальное число n, при котором сумма цифр числа 3+5n равна 27, тогда можно, например, сделать как-нибудь так:
int и float не работаютС чего бы это им не работать? Вы просто бредите! Если s='3'+n*'5' и сделать преобразование int(s), то у этого целого числа получится сумма цифр 3+5n, ни при каких целых n не равная двадцати семи потому что пятёрка - не делитель двадцати четырёх, а n должно быть именно целым и никаким другим!
Если же перед Вами, скажем, стоит задача найти такое минимальное число n, при котором сумма цифр числа 3+5n равна 27, тогда можно, например, сделать как-нибудь так:
for n in range(1000000000):
m, s = 3 + 5 * n, 0
print(n, m, end = ' ')
while m: s += m % 10; m //= 10
print(s)
if s == 27: break
Получается, что при n=399. Только это существенно иная задача в отличие от той, что у Вас в вопросе! Допустим надо найти не минимальное натуральное n, а первую тысячу таких чисел. Тогда делаем так: A, k = [], 0
for n in range(10000000):
m, s = 3 + 5 * n, 0
while m: s += m % 10; m //= 10
if s == 27:
A.append(n)
if len(A) == 1000: break
for a in A:
print('%6d' % a, end = '')
k += 1
if k == 10: k = 0; print()
Александр Власов
это 12 задание из егэ
Володя Гайдук
Ну так и есть! Вдруг неожиданно полез какой-то псевдокод, который ещё надо переводить на нормальный алгоритмический язык (и не факт, что обязательно на пайтон !). Короче, как говорится в таких случаях: "Здрасьте! Я ваша бабушка с Юпитера!"...)))
Для подсчета суммы цифр в строке s = '3' + n * '5' можно воспользоваться следующим кодом:
```python
s = '3' + n * '5'
digits_sum = sum(int(digit) for digit in s)
```
Здесь переменная s содержит строку, которую нужно обработать, а переменная digits_sum - это результат подсчета суммы цифр. В цикле for мы проходим по каждому символу строки s и преобразуем его в целое число с помощью функции int(). Затем полученные числа складываются с помощью функции sum().
Если при использовании функции int() возникает ошибка, то можно проверить, что строка s действительно содержит только цифры. Для этого можно воспользоваться методом isdigit(). Например:
```python
s = '3' + n * '5'
if s.isdigit():
digits_sum = sum(int(digit) for digit in s)
else:
print("Строка содержит недопустимые символы")
```
Здесь мы сначала проверяем, что все символы строки s являются цифрами с помощью метода isdigit(). Если это условие выполняется, то мы выполняем подсчет суммы цифр, как описано выше. Если же строка содержит недопустимые символы, то выводим сообщение об ошибке.
```python
s = '3' + n * '5'
digits_sum = sum(int(digit) for digit in s)
```
Здесь переменная s содержит строку, которую нужно обработать, а переменная digits_sum - это результат подсчета суммы цифр. В цикле for мы проходим по каждому символу строки s и преобразуем его в целое число с помощью функции int(). Затем полученные числа складываются с помощью функции sum().
Если при использовании функции int() возникает ошибка, то можно проверить, что строка s действительно содержит только цифры. Для этого можно воспользоваться методом isdigit(). Например:
```python
s = '3' + n * '5'
if s.isdigit():
digits_sum = sum(int(digit) for digit in s)
else:
print("Строка содержит недопустимые символы")
```
Здесь мы сначала проверяем, что все символы строки s являются цифрами с помощью метода isdigit(). Если это условие выполняется, то мы выполняем подсчет суммы цифр, как описано выше. Если же строка содержит недопустимые символы, то выводим сообщение об ошибке.
Жылдызбек Абдымусаевич
Твоя ненаглядная нейросеть как всегда хрень порет.
Вводим например
n = 2
s = '32' + n * '5'
И усё, получаем неправильный результат. 15, а не 42
Вводим например
n = 2
s = '32' + n * '5'
И усё, получаем неправильный результат. 15, а не 42
Тут "сумму цифр в строке не подсчитать". Потому что это никакая и не строка, а математическое выражение в которое вместо чисел впихнули строки
Похожие вопросы
- Cannot import name 'XXX' from 'XXXXX' ошибка возникает как исправить?
- Первый элемент списка — 1 буква 'а', последний — 33 буквы 'я'. Используй метод append().
- С клавиатуры вводится число n. Вычислить сумму S=1/1+1/2+1/3+...+1/n.
- Какие значения принимает s в balanced_parens(n-1). Как вообще работает этот код?
- Дано двузначное число. Определить: кратна ли сумма его цифр числу а. Написать блок-схему.
- Массив состоит из нескольких строк и нужно из каждой строки вывести наибольшее число
- Какой процент счастливых билетов в рулоне? Это когда сумма первых трёх цифр равна сумме последних трех
- Задана последовательность из N вещественных чисел. Определить, сколько среди них чисел меньших К, равных К и больших К.
- Шифрование строки. Python
- 4 задачи по темам:Массивы,Строки,Циклы,условный оператор