python条件控制和循环

python条件控制和循环

1 条件控制:if语句

Python 条件语句(if语句)是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。

Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif – else。

注意:

1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。

2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。

3、在Python中没有switch – case语句。

1、if中常用的操作运算符:

< :小于

<= :小于或等于

> :大于

>= :大于或等于

== :等于,比较两个值是否相等

!= :不等于

例如:

a = 36
    
# if   
if a > 0:
    print("a是正数")
    
    
# if - else  
if a > 0:
    print("a是正数")
else:
    print("a不是正数")
    
    
# if – elif – else
if a % 2 == 0:
    print("a是偶数")
elif a % 2 != 0:
    print("a是奇数")
else:
    print("error")
a是正数
a是正数
a是偶数
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 键退出")
请输入你家狗狗的年龄:  2

相当于 22 岁的人。

点击 enter 键退出 

''
2、if嵌套

可以把 if…elif…else 结构放在另外一个 if…elif…else 结构中,称为if的嵌套。

例如:

a = 36

if a > 0:
    print(a)
    if a % 2 ==0:
        print("a是偶数")
    else:
        print("a是奇数")
elif a < 0:
    print("a是负数")
else:
    print("a=0")
36
a是偶数

2 循环

Python 中的循环语句有 for 和 while。

1、while循环

while循环格式为:

while 判断条件:

    执行语句

当满足循环条件(True或者1)时,执行循环。如果一直为True,就会无限循环。也可以使用break跳出循环。

注意:1、冒号和缩进。2、True不能写成true,写true会报错。3、在 Python 中没有 do…while 循环。

例如:

while True:
    print("a")
    break # 跳出无限循环
    
while 1:
    print("b")
    break # 跳出无限循环
    
flag = 1
while flag:
    print("true")
    break # 跳出无限循环
    
n = 10
i = 1
sum = 0
while i <= n:
    sum = sum + i
    i += 1
print(sum)
a
b
true
55
# True不能写成true,写true会报错
while true:
    print("a")
    break
---------------------------------------------------------------------------

NameError                                 Traceback (most recent call last)

<ipython-input-8-0537421e009a> in <module>
      1 # True不能写成true,写true会报错
----> 2 while true:
      3     print("a")
      4     break


NameError: name 'true' is not defined
# 数字猜谜游戏
number = 7
guess = -1
print("0-10数字猜谜游戏!")
while guess != number:
    guess = int(input("请输入你猜的数字:"))
 
    if guess == number:
        print("恭喜,你猜对了!")
    elif guess < number:
        print("猜的数字小了...")
    elif guess > number:
        print("猜的数字大了...")
0-10数字猜谜游戏!


请输入你猜的数字: 5


猜的数字小了...


请输入你猜的数字: 7


恭喜,你猜对了!

如果你的while循环体中只有一条语句,你可以将该语句与while写在同一行中。例如:

flag = 1

while (flag): print("a")
2、while 循环使用 else 语句

如果 while 后面的条件语句为 false 时,则执行 else 的语句块。

语法格式如下:

while 条件:

	语句块1

else:

	语句块2

条件语句为 True 则执行语句块1,如果为 False,则执行语句块2。例如:

a = 0
while a < 5:
    print(a)
    a = a + 1
else:
    print("error")
0
1
2
3
4
error
3、for循环

for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。

for循环的一般格式如下:

for <variable> in <sequence>:

	<statements>

else:

	<statements>

可以用break跳出当前的for循环。例如:

for i in (1, 2, 3):
    print(i)
      
list = ["a", "b", "c", "d"]
for a in list:
    print(a)
    break
1
2
3
a
range()函数

如果你需要遍历数字序列,可以使用内置range()函数,它会生成数列。
它也是左闭右开的,如果只指定一个数(n),则默认是0~n的范围。
例如:

for i in range(3):
    print(i)
    
for i in range(-2): # 不会报错,但是无法输出
    print(i)
0
1
2

也可以使用range指定区间的值。例如:

for i in range(2,7):
    print(i)
2
3
4
5
6
for i in range(-3, 3):
    print(i)
-3
-2
-1
0
1
2

也可以用range以指定步长来取指定范围内的数,步长为正为负都可以,但是要注意与其配合使用的范围。

如果范围为:小值 -> 大值,则步长只能为正;如果大值 -> 小值,则步长只能为负。

格式为: range(起点, 终点, 步长)。例如:

for i in range(0, 10, 2): #0~10的范围内,步长为2
    print(i)
0
2
4
6
8
for i in range(-100, -10, 30):
    print(i)
-100
-70
-40
# 错误样例:
for i in range(0, 10, -2): #步长为-2,没有报错,但无法输出
    print(i)
for i in range(-100, -10, -30): # 同样无法输出
    print(i)
for i in range(-10, -100, -30):
    print(i)
-10
-40
-70
for i in range(7, 2, -2):
    print(i)
7
5
3
4、跳出循环:break和continue

break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。

continue 语句被用来 跳过当前循环块中的剩余语句,然后继续进行下一轮循环,只是跳出一次循环,仍然在循环体中。

例如:

n=5
while n > 0:
    print(n)
    n -= 1
    if n == 3:
        break
5
4
n=5
while n > 0:
    print(n)
    n -= 1
    if n == 3:
        continue
5
4
3
2
1
for letter in 'Runoob bye':    
    if letter == 'o':  # 字母为'o'时跳过本次循环
        continue
    if letter == ' ':  # 字母为' '时跳出循环体
        break
    print ('当前字母 :', letter)
当前字母 : R
当前字母 : u
当前字母 : n
当前字母 : b
5、注意:

循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被 break 终止时不执行。例如:

a = 0
while a < 5:
    print(a)
    a = a + 1
    break
else:
    print("error")
0
# 找质数
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, ' 是质数')
2  是质数
3  是质数
4 等于 2 * 2
5  是质数
6 等于 2 * 3
7  是质数
8 等于 2 * 4
9 等于 3 * 3
6、pass语句

pass是空语句,是为了保持程序结构的完整性。

pass 不做任何事情,一般用做占位语句。例如:

i = 0
while i < 3 :
    print(1)
    pass
    print(2)
    i += 1
1
2
1
2
1
2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值