目录
程序的组织结构
1996年,计算机科学家证明了这样的事实:任何简单或复杂的算法都可以由顺序结构、选择结构和循环结构这三种基本结构组合而成。
条件表达式
在选择结构和循环结构中,都要根据条件表达式的值来确定下一步的执行流程。条件表达式的值只要不是False、0(或0.0、0j等)、空值None、空列表、空元组、空集合、空字典、空字符串、空range对象或其他空迭代对象,python解释器均认为与True等价。
在python当中,一切皆对象,所有对象都有一个布尔值。使用内置函数bool()可以获取对象的布尔值。
# @author hanhan
# date 2022/5/18 12:21
# 努力已经来不及了,你得拼命
# 测试对象的布尔值
print("~~~以下对象的布尔值为Flase~~")
print(bool(False)) #False
print(bool(0)) #False
print(bool(0.0)) #False
print(bool(None)) #False
print(bool('')) #False 空字符串
print(bool("")) #False 空字符串
print(bool([])) #空列表 False
print(bool(list())) #空列表 False
print(bool(())) #空元祖
print(bool(tuple())) #空元祖
print(bool({})) #空字典 False
print(bool(dict())) #空字典 False
print(bool(set())) #空集合 False
print("~~~~其余对象的布尔值为True~~~~")
print(bool(12))
print(bool(True))
print(bool("hello"))
顺序结构
概述:顺序结构就是程序自上而下执行,一条语句执行完成之后执行下一条语句,一直执行到程序的末尾。
选择结构
# @author hanhan
# date 2022/5/19 17:28
# 努力已经来不及了,你得拼命
#求其两个数的最大值
a=100
b=1000
if a<b:
print(b)
else:
print(a)
# @author hanhan
# date 2022/5/19 17:28
# 努力已经来不及了,你得拼命
#多分执选择(比较时候python支持数学当中的写法)
a=int(input("请输入你的分数:"))
if 90<=a<=100:
print("A级")
elif 80<=a<90:
print("B级")
elif 70<=a<80:
print("C级")
elif 60<=a<70:
print("D级")
elif 0<=a<60:
print("不及格")
else:
print("输入成绩有误")
if语句的嵌套:
# @Author:韩慧腾
# @Time :2022/6/17 16:36
# @File :if_nesting.py
# 努力已经来不及了,你得拼命
answer=input('您是会员吗?y/n')
money=float(input('请输入你的购物金额:'))
if answer=='y':
if money>=100:
print('您享受打八折的优惠,应付金额为:',(money*0.8))
else:
print("不打折")
else:
print('您可以通过开通会员享受优惠业务')
条件表达式的简化:
#对输入的两个数进行比较大小
num_a=int(input('请输入第一个整数:'))
num_b=int(input('请输入第二个整数:'))
#使用条件表达式进行比较
print(str(num_a)+'大于'+str(num_b) if num_a>=num_b else str(num_a)+'小于'+str(num_b))#三元运算符
pass语句
概述:pass语句什么都不做,只是一个占位符,用到需要写语句的地方。
# @Author:韩慧腾
# @Time :2022/6/17 20:41
# @File :pass_Demo.py
# 努力已经来不及了,你得拼命
#当业务没有想好具体操作时候,可以用pass语句,就不会有语法错误
a=input('请输入您是否为会员:')
if a=='y':
pass
else:
pass
内置函数range()
概述:range函数用于生成一个整数序列,返回值是一个迭代器对象;优点是range对象表示的整数序列有多长,所有range对象占用的内存空间都是相同的,因为仅仅需要存储start,stop和step,只有当用到range对象时,才会去计算序列中的相关元素。
创建range对象的三种方式:
in与not in判断整数序列中是否存在(不存在)指定的整数
# @Author:韩慧腾
# @Time :2022/6/18 8:28
# @File :range_Demo.py
# 努力已经来不及了,你得拼命
r=range(10)#默认从0开始,默认步长为1
print(r)
print(list(r))#list用于查看range对象的整数序列
r=range(1,10)
print(r)
print(list(r))
r=range(1,10,3)
print(r)
print(list(r))
#判断某个数是否在这个序列中是否存在
print( 10 in r)#False
print(10 not in r)#True
运行结果:
循环结构
在Python中,循环结构可以带else语句,其执行过程为:如果循环因为条件表达式不成立或序列遍历结束而自然结束时则执行else结构中的语句,如果循环是因为执行了break语句而导致循环提前结束则不会执行else中的语句。
# @Author:韩慧腾
# @Time :2022/6/18 12:03
# @File :for_else_Demo.py
# 努力已经来不及了,你得拼命
for passworld in range(3):
passworld=input('请输入密码:')
if passworld=='8888':
print('密码正确')
break
else:
print('密码不正确')
else:
print("抱歉,您三次机会已经用完")
for i in range(3,0,-1):
print(i,end='')
else:
print("程序执行完毕")
while循环
# @Author:韩慧腾
# @Time :2022/6/18 8:45
# @File :while_Demo.py
# 努力已经来不及了,你得拼命
#循环结构——while循环(注意在Python中没有自增自减)
n=0
while n<10:
print(n)
n+=1
#求1到10的和
m=1
sum=0
while m<=10:
sum+=m
m+=1
print(sum)
for-in循环
# @Author:韩慧腾
# @Time :2022/6/18 9:05
# @File :for_Demo.py
# 努力已经来不及了,你得拼命
for i in '123456':
print(i)
r=range(1,10,2)
for m in r:
print(m)
求水仙花数案例:
# @Author:韩慧腾
# @Time :2022/6/18 9:12
# @File :for_Dmo1.py
# 努力已经来不及了,你得拼命
#求100——999之间的水仙花数
for i in range(100,1000):
ge=i%10
shi=i//10%10
bai=i//100
if(ge**3+shi**3+bai**3==i):
print(i)
跳转语句
break语句:
用于结束循环结构,通常与分支结构if一起使用
# @Author:韩慧腾
# @Time :2022/6/18 9:22
# @File :break_Demo.py
# 努力已经来不及了,你得拼命
for i in range(3):
passworld=input('请输入密码:')
if(passworld=='8888'):
print('密码正确')
break
else:
print('密码错误')
continue语句:用于结束当前循环,进入下一次循环,通常与分支结构中的if一起使用。
# @Author:韩慧腾
# @Time :2022/6/18 11:15
# @File :continue_Demo.py
# 努力已经来不及了,你得拼命
#输出1-50之间5的倍数
for i in range(1,51):
if(i%5!=0):
continue
print(i)
循环的嵌套
案例:九九乘法表
# @Author:韩慧腾
# @Time :2022/6/18 12:12
# @File :for_nesting _Demo.py
# 努力已经来不及了,你得拼命
#九九乘法表
for i in range(1,10):
for j in range(1,10):
if i>=j:
print(j,'*',i,'=',j*i,end='\t')#输出不换行
print()
注意输出不换行的写法。