Python中分支结构和循环结构、range函数

程序结构

  • 程序的三种结构
    • 顺序
    • 循环
    • 分支

分支结构

  • 分支结构的基本语法
if 条件表达式:
	语句1
	语句2
	语句3
	.....
  • 条件表达式就是计算结果必须为布尔值的表达式
  • 表达式后面的冒号不能少
  • 注意if后面出现的语句块,如果是if的语句块,则必须同一个人缩进等级
  • 条件表达式结果为True执行后面的缩进的语句块
a = "  "
if a:
	print("发财了")
print("踩狗屎了")

#运行结果
发财了
踩狗屎了
  • 当条件表达式为字符串是,字符串有内容,表达式就为真,字符串为空就为假
  • 当字符串的内容为空格时,这是空字符,表达式也为真,如上,程序按顺序执行
双向分支
if 条件表达式:
	语句块1
	...
else:
	语句块2
	...
  • 如果条件表达式为真,执行语句块1,否则执行语句块2
多路分支
if 条件表达式:
	语句块1
	...
elif 条件表达式:
	语句块2
	....
... ...
else
	语句块
	
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 键退出")

>>>
请输入你家狗狗的年龄: 1

相当于 14 岁的人。
点击 enter 键退出
  • python没有switch语句

循环结构

  • 重复执行某一个固定的动作或者任务
  • 分类
    • for
    • while
for
# 结构
for 变量 in 序列:
	语句块
	...

l = [1, 4, 56, 34, 76]
for num in l:
	print(num)

>>>
1
4
56
34
76
for-else语句
  • for循环结束的时候,有时候会执行一些收尾工作,执行else语句
l = ["李钟硕", "李圣经", "薛之谦"]
for 王一博 in l:
    print("你不是我的菜....")
else:
    print("木马木马....")

>>>
你不是我的菜....
你不是我的菜....
你不是我的菜....
木马木马....
while
while 条件表达式:
	语句块
	... ...
# 计算1-100之间数字之和
n = 100
 
sum = 0
counter = 1
while counter <= n:
    sum = sum + counter
    counter += 1
 
print("1 到 %d 之和为: %d" % (n,sum))

>>>
1100 之和为: 5050
  • 死循环:设置条件表达式永远不为 false 来实现死循环
var = 1
while var == 1 :  # 表达式永远为 true
   num = int(input("输入一个数字  :"))
   print ("你输入的数字是: ", num)
 
print ("Good bye!")

break continue pass

  • break:无条件结束整个循环,循环猝死
var = 10                    
while var > 0:              
   print ('当期变量值为 :', var)
   var = var -1
   if var == 5:
      break

>>>
当期变量值为 : 10
当期变量值为 : 9
当期变量值为 : 8
当期变量值为 : 7
当期变量值为 : 6
  • continue:跳过当前循环块中的剩余语句,然后继续进行下一轮循环
dig = [1, 2, 4, 5, 6, 7, 8, 9, 10]
for d in dig:
    if d % 2 == 1:
        continue
    print(d)

>>>
2
4
6
8
10
  • pass:pass是空语句,是为了保持程序结构的完整性,不做任何事情,一般用做占位语句
for letter in 'goodbye': 
    if letter == 'o':
        pass
        print ('执行 pass 块')
    print ('当前字母 :', letter)
print ("Good bye!")

>>>
当前字母 : g
执行 pass 块
当前字母 : o
执行 pass 块
当前字母 : o
当前字母 : d
当前字母 : b
当前字母 : y
当前字母 : e
Good bye!

range函数

  • 遍历数字序列,可以使用内置range()函数。它会生成数列
# range函数只有一个参数,产生的序列小于这个参数
for i in range(5):
     print(i)

>>>
0
1
2
3
4
for i in range(5,9) :#python中的范围一般是左包括,又不包括 [5,9)
    print(i)

>>>
5
6
7
8
for i in range(0, 10, 3) :#第三个参数是增量,也叫做步长
    print(i)
 
>>>    
0
3
6
9
a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ']
for i in range(len(a)): 
    print(i, a[i])

>>>
0 Google
1 Baidu
2 Runoob
3 Taobao
4 QQ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值