0 / 0 / 0
Регистрация: 13.12.2016
Сообщений: 13
|
|||||||||||
1 | |||||||||||
Поменять задачу таким образом, чтобы звездочки в цифрах при выводе в командную строку поменялись на цифры...28.01.2019, 19:11. Показов 2024. Ответов 4
Всем здравствуйте, только начал изучать программирование в принципе и решил начать с phyton, в общем, вопрос:
В книге Саммерфилда в конце первой главы есть задача, нужно поменять задачу из примера таким образом, чтобы звездочки в цифрах при выводе в командную строку поменялись на соответствующие цифры, при чем сделать это можно изменив 5 строк я решил идти путем попроще и получилось что получилось, загвоздка в том, что при запуске в командной строке не происходит вообще ни че го, даже сообщения об ошибке нет. Тут приведу пример из книги и мое решение задачи:
0
|
28.01.2019, 19:11 | |
Ответы с готовыми решениями:
4
Преобразовать строку таким образом, чтобы после каждой цифры «2» стояли три символа «!!!» Преобразовать строку таким образом, чтобы в ее начале были записаны слова, содержащие только цифры Преобразовать строку таким образом, чтобы цифры каждого слова в ней были отсортированы по убыванию Преобразовать строку таким образом, чтобы цифры каждого слова в ней были отсортированы по убыванию Строки. Преобразовать строку таким образом, чтобы цифры каждого слова были перенесены в начало |
28.01.2019, 22:57 | 2 | |||||
Во первых общий совет.
Когда у Вас что то не работает используйте отладчик в пошаговом режиме, что бы понять, что Ваша программа делает. Что бы запустить Вашу программу в отладчике, хотя она предполагает запуск в Командной строке с параметром, в Вашем случае 234, нужно произвести в сценарии замену строки digits = sys.argv[1] на строку digits = '234' И дальше отлаживайте Вашу программу в отладчике. Какую я обнаружил ошибку, почему у Вас программа ничего не выводит. У Вас в программе цикл из которого программа не может выйти и колотит до бесконечности.
n у Вас меняется в следующем цикле while, которое на выше стоящий цикл while не действует. Это происходит из за того, что эти два цикла находятся на одном уровне и программа просто не может перейти к нижнему циклу не отработав верхний, а в верхнем она находится бесконечно. Для того, что бы исправить ошибку, нужно , как я понимаю, нижний цикл while разместить внутри предыдущего. Дальше я анализировать не стал, исправляйте эту ошибку. Добавлено через 12 минут Кстати, по моему у Вас вообще эти два цикла написаны не корректно. Почему у Вас p и n меняются одновременно. Я думаю что n должно меняться только тогда, когда полностью отработает нижний цикл, иначе зачем тогда разбивать на два цикла. В общем разберитесь с этим двумя циклами.
1
|
0 / 0 / 0
Регистрация: 13.12.2016
Сообщений: 13
|
||||||
28.01.2019, 23:59 [ТС] | 3 | |||||
Я не понял как разместить нижний цикл в верхнем, решил ковырять дальше сам)
У меня получился while'овый Франкенштейн какой-то Я переделал и добавил циклы, и пришлось добавить некоторые переменные, так как при повторном выполнении до этого программа переходила сразу на следующую цифру по сути, а не на следующий элемент списка, однако проблема все равно осталось. Ваш последний комментарий увидел уже когда писал это сообщение. Вот код:
0
|
29.01.2019, 11:46 | 4 | ||||||||||
Сообщение было отмечено yasmogu как решение
Решение
У Вас сложный вариант и полно ошибок. Поэтому все что я могу предложить, это свой вариант.
Добавлено через 50 минут О придумал совсем простой вариант, в исходном коде нужно заменить всего одну строку.
Отладчик нужно запускать в пошаговом режиме. Тогда Вы сможете увидеть все что происходит с программой. В больших программах можно ставить точку останова перед тем куском программы, который не понятен, и переходить в пошаговый режим. Кстати я тоже работаю с MS Visual Studio Community 2017 (официально бесплатная версия). Кроме С++ и С# поддерживает так же и Python. Очень удобная среда и мощный отладчик.
1
|
0 / 0 / 0
Регистрация: 13.12.2016
Сообщений: 13
|
|
29.01.2019, 12:14 [ТС] | 5 |
Не ожидал что настолько просто может быть большое спасибо за помощь
0
|
29.01.2019, 12:14 | |
29.01.2019, 12:14 | |
Помогаю со студенческими работами здесь
5
Преобразовать строку таким образом, чтобы в ее начале были записаны слова, содержащие только цифры Преобразовать строку таким образом, чтобы в ней остались только слова, содержащие буквы и цифры Выбрать цифры таким образом, чтобы при сложении получалось указанное число Преобразовать строку таким образом, чтобы цифры каждого слова были перенесены в конец слова Преобразовать строку таким образом, чтобы цифры каждого слова были перенесены в начало слова Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |