Python基础语法(三)-- 循环
一、概况:
- end 关键字
- 条件控制(if)
- 循环语句
- while循环
- for 语句
- range()函数
- break 和 continue 语句及循环中的 else 子句
- pass语句
二、具体内容:
1、end 关键字:
-
可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符。
# Fibonacci series: 斐波纳契数列 # 两个元素的总和确定了下一个数 a,b = 0,1 while b < 1000: print(b,end=',') a,b = b,a+b
2、条件控制(if):
-
if语句:
if condition_1: # 每个条件后面要使用冒号:,表示接下来是满足条件后要执行的语句块 statement_block_1 elif condition_2: statement_block_2 else: statement_block_3
-
例:
# 狗的年龄计算判断: age = int(input("请输入你家狗狗的年龄:")) print("") if age <= 0: print("你这是在逗我吧!") elif age == 1: print("相当于14岁的人") elif age == 2: print("相当于22岁的人") elif age > 2: human = 22 + (age -2)*5 print ("对应人类年龄:",human) ### 退出提示 input("点击enter键退出") ----------------------------------------------------------------- # 数字猜谜游戏: number = 7 guess = -1 print ("数字猜谜游戏!") while guess != number: guess = int(input("请输入你猜的数字:")) if guess ==number: print ("恭喜,你猜对了!") elif guess < number: print ("猜的数字小了...") elif guess > number: print ("猜的数字大了...")
-
-
if嵌套:
# 在嵌套if语句中,可以把 if...elif...else 结构放在另外一个 if...elif...else 结构中。 if 表达式1: 语句 if 表达式2: 语句 elif 表达式3: 语句 else: 语句 elif 表达式4: 语句 else: 语句
-
例:
num = int(input("请输入一个数字:")) if num%2 == 0: if num%3 == 0: print ("你输入的数字可以整除2和3") else: print ("你输入的数字可以整除2,但不能整除3") else: if num%3 == 0: print ("你输入的数字可以整除3,但不能整除2") else: print("你输入的数字不能整除2和3")
-
3、循环语句:
-
while循环
-
while语句的一般形式:
while 判断条件(condition): 执行语句(statements).....
-
# 实例: 用while来计算1到100的总和 n = 100 sum = 0 counter = 1 while counter <= n: sum =sum +counter counter += 1 print ("1到 %d 之和为:%d" % (n,sum))
-
无限循环
# 可以通过设置条件表达式永远不为false来实现无限循环。 var = 1 while var == 1: #表达式永远为true num = int(input("请输入一个数字:")) print ("你输入的数字是:",num) print ("good bye!") # 可以使用 ctrl+c 来退出当前的无限循环
-
while 循环使用else语句
-
在 while...else 在条件语句为 false 时执行 else 的语句块
# 语法格式: while <exper>: <statement(s)> else: <additional_statement(s)>
-
实例:
# 循环输出数字,并判断大小 count = 0 while count < 5: print (count,"<5") count = count + 1 else: print (count,">=5")
-
-
简单语句组
# 类似if语句的语法,如果你的while循环体中只有一条语句,你可以将该语句与while写在同一行中 flag = 1 while (flag): print ("欢迎访问菜鸟教程!") print ("good bye!")
-
-
for循环
-
Python for 循环可以遍历任何序列的项目,如一个列表或者一个字符串。
-
for循环的一般格式如下:
for <variable> in <sequence>: <statements> else: <statements>
-
实例:
# for实例中使用了 break 语句,break 语句用于跳出当前循环体: sites = ["Baidu", "Google","Runoob","Taobao"] for site in sites: if site =="Runoob": print ("菜鸟教程") break print ("循环数据" + site) else: print ("没有循环数据!") print ("完成循环")
-
-
range()函数
-
需要遍历数字序列,可以使用内置函数range()函数。它会生成数列:
for i in range(5): print (i)
-
可以使用range指定区间的值:
for i in range(5,9): print (i)
-
可以使用range以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做‘步长’)
for i in range(0,10,3): print (i) ----------------------------------------------- # 负数 for i in range(-10,-100,-30): print (i)
-
可以结合 range() 和 len() 函数以遍历一个序列的索引
a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ'] for i in range(len(a)): print (i,a[i])
-
可以使用 range() 函数来创建一个列表
list(range(5)) [0, 1, 2, 3, 4]
-
-
break 和 countinue 语句及循环中的 else子句
-
break 语句可以跳出 for和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
-
continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然和继续进行下一轮循环。
-
实例:
# while 中使用break: n = 5 while n > 0: n -=1 if n == 2: break print(n) print('循环结束。') ---------------------------------------------------------------------------- # while 中使用 continue: n = 5 while n > 0: n -= 1 if n == 2: continue print (n) print ('循环结束。')
-
循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false(以while循环)导致循环终止时被执行,但循环被 break 终止时不执行。
# 实例:查询质数的循环 for n in range(2,10): for x in range(2,n): if n % x ==0: print (n,'等于',x,'*',n/x) break else: print (n,'是质数') #循环中没有找到元素
-
-
pass语句
-
pass 是空语句,是为了保持程序结构的完整性。
-
pass 不做任何事情,一般用做占位语句,如下:
while True: pass
-
最小的类
class MyEmptyClass: pass
-
在字母为 o 时,执行pass语句块:
for letter in 'Runoob': if letter == 'o': pass print ('执行 pass 块') print ("当前字母:",letter) print ("go bye!")
-