python之--条件判断和循环

Python之判断

和其他语言一样,python同样具有条件判断和循环的操作,比如我们可以编写一个简单的判断操作:使用if关键字可以达到判断的效果,如下例:

1 >>> test_if = raw_input()
2 50
3 >>> if test_if < 50:
4 ...     print "you are so yamg"
5 ... else:
6 ...     print "you are so old!"
7 ... 
8 you are so old!
9 >>> 

  在这个简单的判断中,首先,判断if语句的条件是不是True,如果是的话就执行print "you are so yamg",否则,执行else子句的内容:print "you are so old!"

注意:

  在使用if执行判断的时候,千万不要忘记写“”否则python编译是没有办法通过的:

 1 >>> if test_if
 2   File "<stdin>", line 1
 3     if test_if
 4              ^
 5 SyntaxError: invalid syntax
 6 >>> if test_if:
 7 ...     print("hello!")
 8 ... else
 9   File "<stdin>", line 3
10     else
11        ^
12 SyntaxError: invalid syntax
13 >>> 

以上的判断只是为了演示而写的,通常在开发的过程中会编写比较复杂的判断语句,这时候我们需要使用”elif“帮助我们完成。

1 if <条件判断1>:
2     <执行1>
3 elif <条件判断2>:
4     <执行2>
5 elif <条件判断3>:
6     <执行3>
7 else:
8     <执行4>
 1 >>> if test_elif < 5:
 2 ...     print "a"
 3 ... elif test_elif > 5 and test_elif<10:
 4 ...     print "b"
 5 ... elif test_elif > 10:
 6 ...     print "c"
 7 ... else:
 8 ...     print "d!"
 9 ... 
10 c
11 >>> 

if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elifelse

if语句的简写:

1 >>> test1 = raw_input()
2 23
3 >>> if test1:
4 ...    print("Yes!")
5 ... else:
6 ...    print("False!") 
7 ... 
8 Yes!
9 >>> 

只要test1是非零数值、非空字符串、非空list等,就判断为True,否则为False

注意:raw_input()读取的内容永远以字符串的形式返回,把字符串和整数比较就不会得到期待的结果,必须先用int()把字符串转换为我们想要的整型:

 1 >>> h = int(raw_input('H:'))
 2 H:12
 3 >>> h
 4 12
 5 >>> #以上显示的是int型的数字类型,但是用raw_input()得到的确实是字符串类型例:
 6 ... 
 7 >>> test_char = raw_input()
 8 12
 9 >>> test_char
10 '12'
11 >>> 

Python之循环:

Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来,看例子:

 1 >>> #循环打印列表
 2 ... 
 3 >>> name = ['a','b','c','d','e','f']
 4 >>> 
 5 >>> name
 6 ['a', 'b', 'c', 'd', 'e', 'f']
 7 >>> for n in name:
 8 ...     print n
 9 ... 
10 a
11 b
12 c
13 d
14 e
15 f
16 >>> 

所以for x in ...循环就是把每个元素代入变量n,然后执行缩进块的语句。再比如我们想计算1-10的整数之和,可以用一个sum变量做累加:

 1 >>> sum = 0
 2 >>> for x in [1,2,3,4,5,6,7,8,9,10]:
 3 ...     sum += x
 4 ...     print sum
 5 ... 
 6 1
 7 3
 8 6
 9 10
10 15
11 21
12 28
13 36
14 45
15 55

可以使用range(11)简单的实现相同的列子:

 1 >>> for x in range(11):
 2 ...     sum += x
 3 ...     print sum
 4 ... 
 5 1
 6 3
 7 6
 8 10
 9 15
10 21
11 28
12 36
13 45
14 55
15 >>> 

第二种循环是while循环,只要条件满足,就不断循环,条件不满足时退出循环。比如我们要计算100以内所有奇数之和,可以用while循环实现:

 1 >>> sum = 0
 2 >>> sum
 3 0
 4 >>> n = 99
 5 >>> while n > 0:
 6 ...     sum += n
 7 ...     n -= 2
 8 ...     print sum
 9 ... 
10 99
11 196
12 291
13 384
14 475
15 564
16 651
17 736
18 819
19 900
20 979
21 1056
22 1131
23 1204
24 25 26

python条件判断和循环讲解到此为止!

原文地址:https://www.cnblogs.com/blogofwyl/p/4293279.html