0%

【Python】逻辑语句


①if选择语句

选择语句在C#使用以下格式:

1
2
3
4
5
6
7
8
9
10
11
int age=20;
if(age>=18)
{
Console.WriteLine("Your age is "+age);
Console.WriteLine("adult");
}
else
{
Console.WriteLine("child");
}
Console.WriteLine("End");

而在Python中,if语句如此实现:

1
2
3
4
5
6
7
age = 20
if age >= 18:
print 'your age is', age
print 'adult'
else:
print 'child'
print 'END'

通过以上对比可以看出, 1.相比C#的大括号{},Python使用缩进来分辨代码块。 2.相比C#的括号(),Python使用:区分辨条件与代码块。 另外需要注意的是,Python使用4个空格来缩进代码块。 如果在Python交互环境下敲代码,还要特别留意缩进,并且退出缩进需要多敲一行回车:

1
2
3
4
5
6
7
>>> age = 20
>>> if age >= 18:
... print 'your age is', age
... print 'adult'
...
your age is 20
adult

那么现在又有了一个问题,就是如果出现嵌套选择语句,即else if语句,靠缩进区分代码块的Python的代码就会看起来很冗余,但是Python就是为了简单而特化的语言,肯定不会允许这种事情发生,所以else if可以并起来写成elif,如下:

1
2
3
4
5
6
7
8
if age >= 18:
print 'adult'
elif age >= 6:
print 'teenager'
elif age >= 3:
print 'kid'
else:
print 'baby'

switch呢?没了!

②循环语句

C#中的for、while、do…while三大循环语句在Python中会以怎样的形式出现呢?

1.for

for语句在Python中相当于C#的foreach而不是for,如

1
2
3
L = ['Adam', 'Lisa', 'Bart']
for name in L:
print name

2.while

while语句倒还是老样子,当条件式满足时就进行循环:

1
2
3
4
5
N = 10
x = 0
while x < N:
print x
x = x + 1

do…while呢?没了! break、continue还是老样子,这个就不多讲了,循环语句多重嵌套注意缩进。