文章目录
前言
文章同步于我的个人博客https://quan9i.github.io/python2/中,欢迎大家访问
程序的组织结构
分为三种,顺序结构,循环结构和选择结构
顺序结构
按照顺序自上至下执行的程序结构称为顺序结构
示例代码:
print('-------程序开始-----')
print('1、把冰箱门打开')
print('2、把大象塞进去')
print('3、把冰箱门关上')
print('-------程序结束-----')
执行结果
选择结构
学习此结构之前,首先需要学习bool值
布尔值
代码:
print(bool(False))
print(bool(0))
print(bool(0.0))
print(bool(None))
print(bool(''))
print(bool(""))
print(bool([])) #空列表
print(bool(list())) #空列表
print(bool(())) #空元组
print(bool({})) #空字典
print(bool(dict())) #空字典
print(bool(set())) #空集合
print('以上为bool值均为false')
执行结果
单分支选择结构
示例代码:
money=2000
s=int(input('请输入取款金额:'))
if money >=s:
money = money-s
print('取款成功,您的余额为:',money)
执行结果
而当取款金额大于2000时,则无输出结果
即未执行if下的语句,直接跳过,此为单分支选择结构。
双分支选择结构
代码:
s=int(input('请输入一个数,我来判断是奇数还是偶数:'))
print(type(s))
s=s%2
print(s,type(s))
if s==0:
print('此为偶数')
else:
print('此为奇数')
执行结果
多分支选择结构
代码:
score=int(input('请输入你的成绩:'))
if score >=90 and score <=100:
print('A级')
elif score >=80 and score <90:
print('B级')
elif score >=70 and score <80:
print('C级')
elif score >=60 and score <70:
print('D级')
elif score >=0 and score<60:
print('不及格,别学了')
else:
print('成绩输出有误')
执行结果
嵌套if的使用
示例代码:
money=float(input('请输入您的购物金额:'))
vip =input('您是会员吗?/r/n')
if vip =='r':
if money>=200:
print('打八折,您的购物金额为:',money*0.8)
elif money>=100:
print('打九折,您的购物金额为:',money*0.9)
else:
print('不打折,您的购物金额为:',money)
else:
if money>=200:
print('打九五折,您的购物金额为:',money*0.95)
else:
print('不打折,您的购物金额为:',money)
执行结果
条件表达式
条件代码比较简洁,相对常规方式会省去很多代码,如下图所示
示例代码:
num1=input('请输入第一个整数:')
num2=input('请输入第二个整数:')
#一般代码
""" if num1>=num2:
print('num1>=num2')
else:
print('num1<num2')
"""
#接下来利用条件表达式
print(num1+'大于等于'+num2 if num1>=num2 else num1+'小于'+num2)
#if后的语句为判断语句,如果结果为true,就执行左边的句子,否则执行右边的句子
#可以在变量前添加str(),方便阅读,虽然我感受不到
执行结果
pass语句
当构造一个语句,但却没想好内容该如何书写时,这时候可以先用pass来替代,这样就避免了出现语句错误
示例代码:
money=float(input('请输入您的购物金额:'))
vip =input('您是会员吗?/r/n')
if vip =='r':
pass
else:
pass
range函数
内置函数的意思是可以直接在代码中调用,不用在最上面输入引用类的代码
返回值是迭代器对象
可以将迭代器简单理解为“内置了 for 循环的可迭代对象”,每使用 next () 函数访问一次迭代器对象,其在返回当前元素的同时,内部指针将指向下一个元素。
三种使用方法range,如下所示
代码:
q=range(7)#7意思是结束位,如果没有填写开始位,默认为0,如果没有填写步长,默认为1
print(q)#输出结果
print(list(q))#输出每个数
w=range(3,7)#意思是从3开始,到7结束,步长没写,默认为1
print(w)#输出结果
print(list(w))#输出每个数
e=range(2,6,2)#意思是从2开始,到6结束,步长为2
print(e)#输出结果
print(list(e))#输出每个数
执行结果
循环
while循环语句
示例代码:
a=0 #第一步,初始化变量
sum=0 #用于存储和
while a<5: # 第二步,条件判断
sum+=a #第三步,条件执行体,求和
a+=1 #第四步,改变变量
print('当前和为:',sum)
具体过程可如下理解:
那么求1-100的偶数和的代码与此类似,如下图所示
i=1 #第一步,初始化变量
sum=0 #存储和
while i<101: #第二步,条件判断
if i%2==0: #判断是否是偶数
sum+=i #求和,同时这两个也是第三步,条件执行体
i+=1 #第四步,改变变量
print('1~101的偶数和为:',sum)
执行结果为
求奇数和只需要改判断是否是偶数那一行即可,如下图
print(bool(1%2)) #为了使i%2便于理解
i=1
sum=0
while i<101:
if i%2:# i%2!=0,可以理解为如果i不能被2整除,就执行下面的语句
sum+=i
i+=1
print('1~101的奇数和为:',sum)
执行结果
如果无法理解,可以参考这篇文章再来思考一下
for-in循环
具体示例如下
for a in 'helloworld': //将helloworld中的字母依次赋值给a
print(a)
for i in range(10): //[1,10)依次赋值给i
print(i)
for _ in range(5): //循环5次
print('helloworld')
执行结果如下
提到了for in,这里再复习一下for 循环,实例如下(乘法表格)
for i in range(1,10): //[1,10)依次赋值给i
for j in range(1,i+1): //[1,i+1)依次赋值给j
print(i,'*',j,'=',i*j,end='\t') //输出格式是 i * j = x i * j = x
print() //每次内部循环完一次就换行
执行结果如下
流程控制语句
break
实例如下
b=0
for a in range(10):
print(a)
b+=1
if b==8:
break
执行结果
continue
b=0
for a in range(10):
print(a)
b+=1
if b>3:
continue
print(222)
执行结果
else
for b in range(10):
if b>3:
print(222)
else:
print('b>=4')
执行结果如下