Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 6, 2010 12:52:15

hsbc
От:
Зарегистрирован: 2008-07-23
Сообщения: 44
Репутация: +  0  -
Профиль   Отправить e-mail  

что-то типа go to

блин вот помню была такая тема где то, обсуждали что-то подобное функции go to(как в делфи например), но на питоне
Вообщем имею код.

#!/usr/bin/python 
def cube(x):
return x
try:
a=int(raw_input('vvedite chislo='))
b=int(raw_input('vvedite stepen='))
except VelueError:
a=None
b=None
if 1<a<15:
if 1<b<15:
print cube(a)**cube(b)

raw_input('press enter to exit, or press C to clear')
программка принимает 2 числа, число и степень. Все ок пашет, но как в конце вернуться в начало самой программы?
Пытался найти по поиску ту тему, но так и не нашел.



Офлайн

#2 Окт. 6, 2010 13:24:55

pill
От:
Зарегистрирован: 2010-08-27
Сообщения: 223
Репутация: +  0  -
Профиль   Отправить e-mail  

что-то типа go to

hsbc
блин вот помню была такая тема где то, обсуждали что-то подобное функции go to(как в делфи например), но на питоне
Вообщем имею код…
…программка принимает 2 числа, число и степень. Все ок пашет, но как в конце вернуться в начало самой программы?
Пытался найти по поиску ту тему, но так и не нашел.
Насколько я знаю goto В питоне нет.
Можете посмотреть тут
Пишут что работает(Сам не проверял), хотя использование и не рекомендуеться

ЗЫ: Но в целом не понятно зачем goto
Можно как-то так:
def cube():
try:
a=int(raw_input('vvedite chislo='))
b=int(raw_input('vvedite stepen='))
except VelueError:
a=None
b=None
if 1<a<15:
if 1<b<15:
print a**b

while raw_input('press enter to exit, or press C to clear: ') == 'C':
cube()



Офлайн

#3 Окт. 6, 2010 18:24:23

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

что-то типа go to

pill
Пишут что работает(Сам не проверял), хотя использование и не рекомендуеться
GOTO не нужен, он только усложняет и запутывает код. Сравните (утрировано):
10 GOTO 60
20 PRINT "HELLO"
30 GOTO 90
40 PRINT "WORLD"
50 GOTO 90
60 IF 2>1:GOTO 20 ELSE GOTO 40
def a():print 'hello'
def b():print 'world'
if 2>1:a()
else:b()
hsbc, вроде не первый день на форуме, а такие вещи спрашиваете :)



Офлайн

#4 Окт. 6, 2010 19:01:19

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

что-то типа go to

Сначала спрашиваешь у гуру “Как использовать goto?” - тебе отвечают “Не используй”.
Потом узнаёшь что есть множество способов сделать это без goto.
Потом узнаёшь много случаев где goto удобнее других способов.
Потом к тебе подходят и спрашивают “Как использовать goto?”. Ты немного подумав отвечаешь: “Не используй”.

Офлайн

#5 Окт. 6, 2010 21:27:21

hsbc
От:
Зарегистрирован: 2008-07-23
Сообщения: 44
Репутация: +  0  -
Профиль   Отправить e-mail  

что-то типа go to

спасибо всем, разобрался.
Бывают провалы в памяти блин)

Сначала спрашиваешь у гуру “Как использовать goto?” - тебе отвечают “Не используй”.
Потом узнаёшь что есть множество способов сделать это без goto.
Потом узнаёшь много случаев где goto удобнее других способов.
Потом к тебе подходят и спрашивают “Как использовать goto?”. Ты немного подумав отвечаешь: “Не используй”.
:D



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version