?

Log in

No account? Create an account
   Journal    Friends    Archive    Profile    Memories
 

More Python Fun - morfizm


Apr. 15th, 2011 05:19 pm More Python Fun

var = 1
if (var == 1 | var == 2):
    print 'Wishful thinking'
else:
    print 'This is impossible!'
    print 'But true...'
(Syntax highligher used: http://tohtml.com/python/)

10 comments - Leave a commentPrevious Entry Share Next Entry

Comments:

From:dennyrolling
Date:April 16th, 2011 12:58 am (UTC)
(Link)
а тернарным оператором ты уже пользовался?
a if condition else b
мама, зачем они так!!
From:morfizm
Date:April 16th, 2011 01:32 am (UTC)
(Link)
Ага, evil. Пользовался.
From:dennyrolling
Date:April 16th, 2011 01:02 am (UTC)
(Link)
and on the topic:

"However, I advise you to use parentheses for grouping of operators and operands in order to explicitly specify the precedence and to make the program as readable as possible. For example, 2 + (3 * 4) is definitely more clearer than 2 + 3 * 4."

http://www.ibiblio.org/g2swap/byteofpython/read/operator-precedence.html
From:morfizm
Date:April 16th, 2011 01:32 am (UTC)
(Link)
Чё уж мелочиться, давай каждый term брать в скобки:
(a) = ((2) + ((3) * (4)))

Или вообще в польской записи писать. Чтобы для компилятора не было разночтений.
From:dennyrolling
Date:April 16th, 2011 05:16 am (UTC)
(Link)
особенно я люблю обратную польскую нотацию
From:morfizm
Date:April 16th, 2011 06:43 am (UTC)
(Link)
Особенно будет приятно вызывать функции.
Вместо:
g(x,f(a, b+c),y)

Будет:
x
a
b
c
+
f
y
g

;)
From:dennyrolling
Date:April 16th, 2011 06:55 am (UTC)
(Link)
ну зачем же в разные строчки, по уму просто разделяешь пробелом, а скобки это очевидно от лукавого.
y c b + a f x g
From:morfizm
Date:April 16th, 2011 07:03 am (UTC)
(Link)
а как же "каждый оператор на отдельной строке"?
From:dennyrolling
Date:April 16th, 2011 07:17 am (UTC)
(Link)
а еще неплохо так вообще писать.. вот например проверка является ли число простым:
i 1 + n p i i * n > || 0 n i % != && bool i n 2 p deffun 2 n p bool n 1 prime deffun

вызываешь: 17 prime
получаешь: true
From:morfizm
Date:April 16th, 2011 07:22 am (UTC)
(Link)
Ты это руками посчитал, или есть под рукой инструмент?

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