Python 学习之路三

目录

条件判断 if

循环 

for ... in ...

while

break

continue


继 "Python 学习之路二":

条件判断 if

比如,输入用户年龄,根据年龄打印不同的内容,在 Python 程序中,用 if 语句实现:

>>> age = 18
>>> if age >= 18 :
	print("your age is ",age)
	print("adult")

your age is  18
adult
>>> 

根据 Python 的缩进规则,如果 if 语句判断是 True,就把缩进的两行 print 语句执行了,否则,什么也不做。也可以给 if 添加一个 else 语句,意思是,如果 if 判断是 False,不要执行 if 的内容,去把 else 执行了:

>>> age = 9
>>> if age >= 18:
	print("your age is",age)
        print("adult")
else:
	print('your age is',age)
	print("teenager")
your age is 9
teenager
>>> 

(注意不要少写了冒号 : )

当然上面的判断是很粗略的,完全可以用 elif 做更细致的判断:

>>> age = 3
>>> if age >= 18:
	print("adult")
elif age >= 6:
	print("teenager")
else:
	print("kid")	
kid
>>> 

elif 是 else if 的缩写,完全可以有多个 elif,所以 if 语句的完整形式就是:

if <判断条件1>:
    执行语句1
elif <判断条件2>:
    执行语句2
elif <判断条件3>:
    执行语句3
else :
    执行语句4

if 语句执行有个特点,它是从上往下判断,如果在某个判断上是 True,把该判断对应的语句执行后,就忽略掉剩下的 elif 和 else,所以,请测试并解释为什么下面的程序打印的是 teenager:

>>> age = 3
>>> if age >= 18:
	print("adult")
elif age >= 6:
	print("teenager")
else:
	print("kid")	
kid

if 判断条件还可以简写,比如写:

if x:
    print("True")

只要 x 是非零数值、非空字符串、非空 list 等,就判断为 True,否则为 False。补充:可以使用 input()进行数据的输入.注意输入的内容是 str,如果需要 int 需要进行类型转换。

循环 

Python 的循环有两种

for ... in ...

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

>>> names = ["Michael","Bob","Tracy"]
>>> for name in names :
	print(name)

Michael
Bob
Tracy

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

>>> sum = 0
>>> for x in [1,2,3,4,5,6,7,8,9,10]:
    sum = sum + x
    print(sum)

1
3
6
10
15
21
28
36
45
55
>>> 

如果要计算 1-100 的整数之和,从 1 写到 100 有点困难,幸好 Python 提供一个 range()函数,可以生成一个整数序列,再通过 list()函数可以转换为 list。比如 range(5)生成的序列是从 0 开始小于 5 的整数:

>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> 

while

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

>>> sum = 0
>>> n = 99
>>> while n > 0 :
    sum += n
    n -= 2
    print(sum)

break

在循环中,break 语句可以提前退出循环。例如,本来要循环打印 1~100 的数字:

>>> n = 1
>>> while n <= 20 :
	if n > 10 :
		break
	print(n)
	n = n + 1
print("END")

执行上面的代码可以看到,打印出 1~10 后,紧接着打印 END,程序结束。可见 break 的作用是提前结束循环.

continue

在循环过程中,也可以通过 continue 语句,跳过当前的这次循环,直接开始下一次循环。

>>> n = 0 
>>> while n < 10 :
	n = n + 1
	print(n)
	
1
2
3
4
5
6
7
8
9
10
>>> 

上面的程序可以打印出 1~10。但是,如果我们想只打印奇数,可以用 continue 语句跳过某些循环:

>>> n = 0
>>> while n < 10 :
	n = n + 1
	if n % 2 == 0 :
		continue
	print(n)
	
1
3
5
7
9
>>> 

 

 

 

 

 

你可能感兴趣的:(Python3)