Как в питоне вернуться на определенную строку
Перейти к содержимому

Как в питоне вернуться на определенную строку

  • автор:

Переход к определённой строке кода

Author24 — интернет-сервис помощи студентам

Подскажите пожалуйста как сделать, чтоб после того как программа напишет больше или меньше она возвращалась к 12 строке, чтобы пользователь мог ещё раз попробовать угадать число, пока не угадает. Интересно как сделать это на питоне, знаю что в других языках есть goto, но его тут вроде нету, а через скачивание модулей чёт не получалось.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
#Guess the number invented by the computer import random print("Компьютер загадал произвольное 3-цифровое число") print("Угадайте его с наименьшего количества попыток") print("С каждой попыткой компьютер будет вам подсказывать") x=random.randint(100, 999) print(x) #его быть не должно, это просто чтобы проверить код n=int(input("Введите число, которое на ваше мнение загадал компьютер: ")) if n>x : print("Меньше") elif nx : print("Больше") else: print("Поздравляем, вы угадали число с z попыток(-ки)") #z - кол. попыток, кому не сложно может подсказать как это сделать :D input()

Циклы for и while, операторы break и continue, волшебное слово else

Python 3 логотип

В этой статье я расскажу о циклах for и while, операторах break и continue, а также о слове else, которое, будучи употребленное с циклом, может сделать программный код несколько более понятным.

Цикл while

While — один из самых универсальных циклов в Python, поэтому довольно медленный. Выполняет тело цикла до тех пор, пока условие цикла истинно.

Цикл for уже чуточку сложнее, чуть менее универсальный, но выполняется гораздо быстрее цикла while. Этот цикл проходится по любому итерируемому объекту (например строке или списку), и во время каждого прохода выполняет тело цикла.

Оператор continue

Оператор continue начинает следующий проход цикла, минуя оставшееся тело цикла (for или while)

Оператор break

Оператор break досрочно прерывает цикл.

Слово else, примененное в цикле for или while, проверяет, был ли произведен выход из цикла инструкцией break, или же «естественным» образом. Блок инструкций внутри else выполнится только в том случае, если выход из цикла произошел без помощи break.

Для вставки кода на Python в комментарий заключайте его в теги

  • Модуль csv - чтение и запись CSV файлов
  • Создаём сайт на Django, используя хорошие практики. Часть 1: создаём проект
  • Онлайн-обучение Python: сравнение популярных программ
  • Книги о Python
  • GUI (графический интерфейс пользователя)
  • Курсы Python
  • Модули
  • Новости мира Python
  • NumPy
  • Обработка данных
  • Основы программирования
  • Примеры программ
  • Типы данных в Python
  • Видео
  • Python для Web
  • Работа для Python-программистов
  • Сделай свой вклад в развитие сайта!
  • Самоучитель Python
  • Карта сайта
  • Отзывы на книги по Python
  • Реклама на сайте

Циклы в Python. Как вернуться на определённую строку в коде?

Подскажите пожалуйста! Как сделать так чтобы после не верного ответа на второй вопрос, и последующем выборе варианта "да" - "НЕ ПРАВИЛЬНО хотите попробовать еще раз? да/нет"
возвращаться к этому же вопросу, а не начинать сначала, с первого вопроса

list = ["а", "б", "в", "г"]
cycle = True
while cycle:

question1 = input("Кто из этих персонажей не дружит с Гарри Поттером? а) Рон Уизли б) Невилл Лонгботтом в) Драко Малфой г) Гермиона Грейнджер: ")
if question1 == list[2]:
print('Молодец Правильно. Следующий вопрос: =>>')
pass
elif question1 != list[2]:
vopros = input('НЕ ПРАВИЛЬНО хотите попробовать еще раз? да/нет ')
if vopros == 'да':
continue

question2 = input("Какое животное не фигурирует в китайском зодиаке? а) Дракон б) Кролик в) Собака г) Колибри: ")
if question2 == list[0]:
print('Молодец Правильно. Следующий вопрос: =>>')
pass
elif question2 != list[0]:
vopros = input('НЕ ПРАВИЛЬНО хотите попробовать еще раз? да/нет ')
if vopros == 'да':
continue

  • Вопрос задан 18 июн. 2023
  • 286 просмотров

1 комментарий

Простой 1 комментарий

Python: поиск подстроки, операции со строками. Как выполнять поиск в строке Python?

Python_Deep_5.6_site-5020-7250df.png

В этой статье поговорим про строки в Python, особенности поиска, а также о том, как искать подстроку или символ в строке.

Но сначала давайте вспомним основные методы для обработки строк в Python: • isalpha(str) : если строка в Python включает в себя лишь алфавитные символы, возвращается True; • islower(str) : True возвращается, если строка включает лишь символы в нижнем регистре; • isupper(str) : True, если символы строки в Python находятся в верхнем регистре; • startswith(str) : True, когда строка начинается с подстроки str; • isdigit(str) : True, когда каждый символ строки — цифра; • endswith(str) : True, когда строка в Python заканчивается на подстроку str; • upper() : строка переводится в верхний регистр; • lower() : строка переводится в нижний регистр; • title() : для перевода начальных символов всех слов в строке в верхний регистр; • capitalize() : для перевода первой буквы самого первого слова строки в верхний регистр; • lstrip() : из строки в Python удаляются начальные пробелы; • rstrip() : из строки в Python удаляются конечные пробелы; • strip() : из строки в Python удаляются и начальные, и конечные пробелы; • rjust(width) : когда длина строки меньше, чем параметр width, слева добавляются пробелы, строка выравнивается по правому краю; • ljust(width) : когда длина строки в Python меньше, чем параметр width, справа от неё добавляются пробелы для дополнения значения width, при этом происходит выравнивание строки по левому краю; • find(str[, start [, end]) : происходит возвращение индекса подстроки в строку в Python. В том случае, если подстрока не найдена, выполняется возвращение числа -1; • center(width) : когда длина строки в Python меньше, чем параметр width, слева и справа добавляются пробелы (равномерно) для дополнения значения width, причём происходит выравнивание строки по центру; • split([delimeter[, num]]) : строку в Python разбиваем на подстроки в зависимости от разделителя; • replace(old, new[, num]) : в строке одна подстрока меняется на другую; • join(strs) : строки объединяются в одну строку, между ними вставляется определённый разделитель.

Обрабатываем строку в Python

Представим, что ожидается ввод числа с клавиатуры. Перед преобразованием введенной нами строки в число можно легко проверить, введено ли действительно число. Если это так, выполнится операция преобразования. Для обработки строки используем такой метод в Python, как isnumeric() :

 
string = input("Введите какое-нибудь число: ") if string.isnumeric(): number = int(string) print(number)

Следующий пример позволяет удалять пробелы в конце и начале строки:

 
string = " привет мир! " string = string.strip() print(string) # привет мир!

Так можно дополнить строку пробелами и выполнить выравнивание:

 
print("iPhone 7:", "52000".rjust(10)) print("Huawei P10:", "36000".rjust(10))

В консоли Python будет выведено следующее:

 
iPhone 7: 52000 Huawei P10: 36000

Поиск подстроки в строке

Чтобы в Python выполнить поиск в строке, используют метод find() . Он имеет три формы и возвращает индекс 1-го вхождения подстроки в строку: • find(str) : поиск подстроки str производится с начала строки и до её конца; • find(str, start) : с помощью параметра start задаётся начальный индекс, и именно с него и выполняется поиск; • find(str, start, end) : посредством параметра end задаётся конечный индекс, поиск выполняется до него.

Когда подстрока не найдена, метод возвращает -1:

 
welcome = "Hello world! Goodbye world!" index = welcome.find("wor") print(index) # 6 # ищем с десятого индекса index = welcome.find("wor",10) print(index) # 21 # ищем с 10-го по 15-й индекс index = welcome.find("wor",10,15) print(index) # -1

Замена в строке

Чтобы в Python заменить в строке одну подстроку на другую, применяют метод replace() : • replace(old, new): подстрока old заменяется на new; • replace(old, new, num): параметр num показывает, сколько вхождений подстроки old требуется заменить на new.

Пример замены в строке в Python:

 
phone = "+1-234-567-89-10" # дефисы меняются на пробелы edited_phone = phone.replace("-", " ") print(edited_phone) # +1 234 567 89 10 # дефисы удаляются edited_phone = phone.replace("-", "") print(edited_phone) # +12345678910 # меняется только первый дефис edited_phone = phone.replace("-", "", 1) print(edited_phone) # +1234-567-89-10

Разделение на подстроки в Python

Для разделения в Python используется метод split() . В зависимости от разделителя он разбивает строку на перечень подстрок. В роли разделителя в данном случае может быть любой символ либо последовательность символов. Этот метод имеет следующие формы: • split() : в роли разделителя применяется такой символ, как пробел; • split(delimeter) : в роли разделителя применяется delimeter; • split(delimeter, num) : параметром num указывается, какое количество вхождений delimeter применяется для разделения. При этом оставшаяся часть строки добавляется в перечень без разделения на подстроки.

Соединение строк в Python

Рассматривая простейшие операции со строками, мы увидели, как объединяются строки через операцию сложения. Однако есть и другая возможность для соединения строк — метод join() :, объединяющий списки строк. В качестве разделителя используется текущая строка, у которой вызывается этот метод:

 
words = ["Let", "me", "speak", "from", "my", "heart", "in", "English"] # символ разделителя - пробел sentence = " ".join(words) print(sentence) # Let me speak from my heart in English # символ разделителя - вертикальная черта sentence = " | ".join(words) print(sentence) # Let | me | speak | from | my | heart | in | English

А если вместо списка в метод join передать простую строку, разделитель будет вставляться уже между символами:

 
word = "hello" joined_word = "|".join(word) print(joined_word) # h|e|l|l|o

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *