Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 7
1

Программа работает неправильно

17.08.2019, 09:47. Показов 614. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
День добрый, я на начальном уровне изучения Python. Использую Python 3.7

Написал следующую программу:

Python
Python
1
2
3
4
5
6
7
8
s = input()
for i in range(len(s)):
    if s[i].isdigit():
        if s[i] == '9':
            s = s.replace(s[i], '0')
        else:
            s = s.replace(s[i], str(int(s[i])+1))
print(s)
Которая по моим ожиданиям должна редактировать строку: C-3P0 & R2-D2 r c0m1n9 4 u в строку C-4P1 & R3-D3 rc1m2n0 5 u

но вопреки всем ожиданиям, я получаю следующую строку C-5P3 & R5-D5 r c3m3n0 5 u

Объясните почему так?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.08.2019, 09:47
Ответы с готовыми решениями:

Программа работает неправильно
Программа работает некорректно, не понимаю, что именно не так. Определить класс «Шахматная...

Неправильно работает программа
self.kartinka.setPixmap(self.vyb) self.start_time = time.time() pygame.mixer.init()...

Программа работает неправильно
Код не работает как нужно, помогите пожалуйста исправить, выходит только нули from math import...

Программа Блэкджек работает неправильно
# Игра блэкджек print ("Игра запущена!") ...

Неправильно работает программа
Пишу простую программу(блокнот). Добавил сохранение файла, должно работать так: То что записано в...

3
9 / 8 / 2
Регистрация: 27.05.2019
Сообщений: 115
17.08.2019, 10:27 2
Многие посоветуют сначала писать сам код в оболочке PYTHON, поэтому сразу напишу
Python
1
2
3
4
5
6
7
8
s = input()
for i in range(len(s)):
if s[i].isdigit():
if s[i] == '9':
s = s.replace(s[i], '0')
else:
s = s.replace(s[i], str(int(s[i])+1))
print(s)
0
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 7
17.08.2019, 10:33  [ТС] 3
ну тогда нужно и отступы соблюсти :
Python
1
2
3
4
5
6
7
8
s = input()
for i in range(len(s)):
     if s[i].isdigit():
          if s[i] == '9':
               s = s.replace(s[i], '0')
     else:
           s = s.replace(s[i], str(int(s[i])+1))
print(s)
0
Автоматизируй это!
Эксперт Python
7187 / 4679 / 1221
Регистрация: 30.03.2015
Сообщений: 13,354
Записей в блоге: 29
17.08.2019, 10:45 4
Цитата Сообщение от ev83gen Посмотреть сообщение
for i in range(len(s)):
в таких случая лучше применять enumerate (прочитай как и зачем) но тут и он не нужен, потому что не стоит менять строку поэлементно -это каждый раз формирует новый объект. Предлагаю собрать все в лист и потом вывести или в строку превратить, так и логика понятнее.
Python
1
2
3
4
5
6
7
8
9
10
11
s = input()
result = list()
for element in s:
    if element.isdigit():
        if element == '9':
            result.append('0')
        else:
            result.append(str(int(element) + 1))
    else:
        result.append(element)
print(''.join(result))  # Если это значение нужно далее, то можно присвоить value = ''.join(result)
0
17.08.2019, 10:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.08.2019, 10:45
Помогаю со студенческими работами здесь

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

Неправильно работает программа
Дан массив из 10 байт. Посчитать количество байт, в которых сброшены 6 и 4 биты. Возможно я...

неправильно работает программа на с++.
вычислить произведение и число отрицательных элементов матрицы А,находящихся под главной...

Программа неправильно работает
Всем доброго времени суток! Мое задание: "Есть некоторая последовательность цифр. Напишите...

Неправильно работает программа
Автобусная экскурсия Оргкомитет Московской городской олимпиады решил организовать обзорную...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru