Как вызвать функцию в Python несколько раз?
Суть в том,чтобы после завершения игры можно было выбрать один из вариантов (да/нет) и продолжить игру не останавливая программу. Третий день изучения Python,не могу додуматься.Чайник.Попробовал несколько вариантов:функция внутри функции,while. `
import random popitka=0 print('Как тебя зовут?') name=input() print('Приветствую,',name,'. Игра называется "Угадай число"') print('Попробуй отгадать число от 1 до 20. У тебя 6 попыток. Удачи') def play(): number=random.randint(1,20) for popitka in range(1,7): guess=int(input()) if guessnumber: print('число слишком большое') if guess==number: break if guess==number: popitka=str(popitka) print('Поздравляю,',name,'Ты отгадал число с',popitka,'попытки') if guess!=number: print('Увы,',name,'. Ты проиграл') return guess play() print('Хочешь попробовать еще раз?(да/нет)') again=str(input()) if again=='да': play() elif again=='нет': print('Спасибо за игру!')`
Данный вариант выдает ошибку:
Traceback (most recent call last): File "C:/Users/User/Desktop/обучение/guessGAME1.py", line 27, in play() File "C:/Users/User/Desktop/обучение/guessGAME1.py", line 10, in play guess=int(input()) ValueError: invalid literal for int() with base 10: ' '
Как вызвать функцию n раз одноремено?
К примеру у меня есть функция, которая регистрируется на сайте, как вызвать 100 таких функций за раз?
- Вопрос задан более трёх лет назад
- 1726 просмотров
Комментировать
Решения вопроса 1
Говнокодер
for i in range(n): vzlom()
Ответ написан более трёх лет назад
d4c4237abc @d4c4237abc Автор вопроса
Да, проверил с datetime.now().microsecond

d4c4237abc, ну как одновременно? Не одновременно, поочерёдно, один вызов за другим. Просто чертовски быстро.

import asyncio tasks = [] async def vzlom(): chpok_pentagon(host=127.0.0.1).hack() async def main(): for i in range(100): task.append(asyncio.create_task(vzlom())) await asyncio.gather(*tasks) if __name__ == '__main__': asyncio.run(main())
Как повторить определённую функцию в Python 3?
Здравствуйте, подскажите пожалуйста, как повторить цикл в Python 3,
Вот пример кода, как сделать, что бы после фразы «Хотите увиличить свой возраст ещё раз ? (Да, Нет)»
заново начинался цикл «Сколько лет хотите прибавить? ;» ?
name = input(" Ваше имя; ") a = int(input(" Ваш возраст; ") ) print(" Ваше имя: " + name + "; и ваш возраст: " + str(a) ) what = input(" Хотите увиличить свой возраст ? (Да, Нет); ") if what == "Да": b = int(input(" Сколько лет хотите прибавить? ;") ) c = a + b print(" Ваш новый возраст: " + str(c)) what = input(" Хотите увиличить свой возраст ещё раз ? (Да, Нет);") elif what == "Нет": print(" Ну, как хочешь, пока!") else: print(" Я не знаю что делать :(")
- Вопрос задан более трёх лет назад
- 5295 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 1

Сергей Карбивничий @hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
Не знаю насколько правильно, но через цикл while работает:
name = input(" Ваше имя; ") a = int(input(" Ваш возраст; ") ) print(" Ваше имя: " + name + "; и ваш возраст: " + str(a) ) what = input(" Хотите увиличить свой возраст ? (Да, Нет); ") if what == "Да": while True: b = int(input(" Сколько лет хотите прибавить? ;") ) a = a + b print(" Ваш новый возраст: " + str(a)) what = input(" Хотите увиличить свой возраст ещё раз ? (Да, Нет);") if what == "Нет": break elif what == "Нет": print(" Ну, как хочешь, пока!") else: print(" Я не знаю что делать :(")
Ответ написан более трёх лет назад
Можно ли повторить пользовательскую функцию def() n раз
Здравствуйте! Хотел бы реализовать выполнение loop через пользовательскую функцию несколько раз, но только не обычным вбиванием печатания результата. Например для 3 раз:
1 2 3 4 5 6
def repeat(): for i in ii: трата-та-та print: print: print:
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Python PyGame def draw,def move,def off_screen,def collision
Python pygame За что отвечают эти команды def draw,def move,def off_screen,def collision?

Как можно переделать данный скрипт аккордеона под функцию, чтобы можно было использовать несколько раз на сайте?
Как можно переделать данный скрипт аккордеона под функцию, чтобы можно было использовать несколько.
Необходимо передать в пользовательскую функцию (которая подключается dll) функцию, описанную в mathcad
Задача, необходимо передать в пользовательскую функцию (которая подключается dll) функцию описанную.
![]()
2794 / 2037 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
Кроме как перечитать мою подпись нечего и посоветовать…
Добавлено через 4 минуты
1 2 3 4 5
def repeated_print(n, text): for _ in range(n): print(text) repeated_print(100, 'Я буду описывать условие, а не свои идеи!')
Регистрация: 15.10.2015
Сообщений: 173
Но эта идея и есть — под схожие задачи. Луп повторяет ровно столько итераций, сколько пользователь хочет задать. Но вот уточнение. Текст — это получаемая ссылка. Сейчас задача как остановить луп. Э
1 2 3 4 5 6
for tag in tags[position-1:position]: page1=tag.get('href', None) print "Retrieving:", page1 lista.append((page1)) if len(lista)==count1:break print lista
После того как лист достиг своей длины значений — я его хочу остановить. А каунт — это есть вводимое значение
2740 / 2339 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
Сообщение от SKY_SHY 
После того как лист достиг своей длины значений — я его хочу остановить
В чем проблема-то, какие-то странные вопросы. Цикл сам останавливается, когда у тебя итерируемый объект истощается.
Регистрация: 15.10.2015
Сообщений: 173
В лист добавляется только одна ссылка, которая нужна на данной url странице. А я хочу затащить все ссылки со всех url в один лист и когда он наполнится прекратить этот луп. Т.е. смотрите, как только луп нашёл в url0 — url1 — я снова повторяю и нахожу уже в url1 — url2. Вот наполнится лист до нужного значения (длины). Все задача решена.
![]()
2794 / 2037 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
Сообщение от SKY_SHY 
как только луп нашёл в url0 — url1 — я снова повторяю и нахожу уже в url1 — url2
Где у Вас реализован этот переход? А так:
1 2 3 4
while len(lista) count1: position += 1 for tag in tags[position-1:position]: .
Регистрация: 15.10.2015
Сообщений: 173
1 2 3 4 5 6 7 8 9 10
for tag in tags[position-1:position]: print "Retrieving:", tag.get('href', None) page1=tag.get('href', None) lista.append((page1)) ret_url(page1) if count>0:continue elif len(lista)==count: break print lista print lista
пробовал вот так. С While у меня это сделать не получалось. Тут почему-то в лист попадает только одна ссылка.
![]()
2794 / 2037 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
Сообщение от SKY_SHY 
Тут почему-то в лист попадает только одна ссылка
Сообщение от Marinero 
Где у Вас реализован этот переход?
Другими словами изменение переменной position?
Регистрация: 15.10.2015
Сообщений: 173
position задается пользователем. Это порядковый номер ссылки в url. Таким образом в зависимости от введенного номера я перехожу в url0 получаю ссылку на ur1 — получаю ссылку на url2 и т.д. до тех пора пока мой лист не соберет нужное мне количество.
![]()
2794 / 2037 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
Сообщение от SKY_SHY 
position задается пользователем.
ГДЕ? Чтобы работал цикл надо чтоб что-то менялось(перебиралось) — где у Вас эта часть?
Регистрация: 15.10.2015
Сообщений: 173
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
count=7 position=18 lista=[] print "Enter URL:", page.url print "Enter count:", count print "Enter position:", position for tag in tags[position-1:position]: print "Retrieving:", tag.get('href', None) page1=tag.get('href', None) lista.append((page1)) ret_url(page1) if count>0:continue elif len(lista)==count: break print lista print lista
Добавлено через 7 минут
Т.е на том же уровне что и луп. Tags — это лист найденных ссылок.
Добавлено через 18 минут
Пользовательская функция ret_url получает теги автоматически для страницы url1 — page1 и.д. для последующих других. Я ее поставил в этом уровне (уровень лупа). Поэтому мои tags для полученной url1 остались внизу. Continue снова начинает цикл. — т.к. break не работает, потому что в листе по прежнему только 1 ссылка.
Добавлено через 4 минуты
Я даже больше скажу мне удалось получить только 1 ссылку и все. Continue в данном случае не запускает луп заново.
