python笔记03 -- 顺序、对象的布尔值结构、分支、range()函数、pass语句、range()函数、循环

程序的三种组织结构:顺序结构、选择结构、循环结构

一、顺序结构

print('---程序开始---')
print('1.把冰箱门打开')
print('2.把大象放冰箱')
print('3.把冰箱门关闭')
print('---程序结束---')

二、对象的布尔值

print('---以下对象的布尔值为False---')
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(tuple()))#空元组
print(bool({}))#空字典
print(bool(dict()))#空字典
print(bool(set()))#空集合
print('---其他对象的布尔值均为True,如:---')
print(bool(18))
print(bool('hello'))
总结--布尔值对下为False的有:
        False、数值0、None、空字符串、空列表、空元组、空字典、空集合

三、分支

选择结构:
        单分支结构、双分支结构、多分支结构、嵌套if、条件表达式(双分支结构的简写)

        3.1:单分支结构

语法结构:
        if 条件表达式:
            条件执行体
money=1000
s=int(input('请输入取款金额:')) #取款金额
if money>= s:
    money=money-s
    print('取款成功,金额为:',money)

        3.2:双分支结构

语法结构:
        if 条件表达式:
            条件执行体1
        else:
            条件执行体2
#案例:从键盘输出一个整数,判断是基数还是偶数
num=int(input('请输入一个整数:'))
if num%2 == 0:
    print(num,'是偶数!')
else:
    print(num,'是奇数!')

        3.3:多分支结构

语法结构:
        if 条件表达式1:
            条件执行体1
        elif 条件表达式2:
            条件执行体2
        elif 条件表达式n:
            条件执行体n
        (else:)
            条件执行体n+1

#案例:从键盘输出一个整数,判断成绩等级90-100:A,60-89:B,0-59:C,其余:成绩不是0-100内的数值,输入无效!
score=int(input('请输入整数成绩:'))
if score>=90 and score<=100: #python中也可以写为:90<=score<=100
    print('A级,成绩为:',score)
elif score>=60 and score<=89:
    print('B级,成绩为:', score)
elif score>=0 and score<=59:
    print('C级,成绩为:', score)
else:
    print('成绩不是0-100内的数值,输入无效!')

        3.4:嵌套if

语法结构:
        if 条件表达式1:
            if 内层条件表达式1:
                内存条件执行体1
            elif 内层条件表达式n:
                内存条件执行体n
            else:
                内存条件执行体n+1
        else:
            条件执行体
'''
案例:
会员 >=200 8折
    >=100 9折
        不打折
非会员 >=200 9.5折
        不打折
'''

answer = input('您是会员吗?y/n:')
money = float(input('请输入消费金额:'))
#判断外层逻辑
if answer == 'y':#会员
    if money>=200:
        print('金额',money,'元:打8折,付款金额为:',money*0.8,'元!')
    elif money>=100:
        print('金额', money, '元:打9折,付款金额为:', money * 0.9, '元!')
    else:
        print('小于100元不打折,付款金额为:',money, '元!')
else:
    if money >= 200:
        print('金额', money, '元:打9折,付款金额为:', money * 0.9, '元!')
    else:
        print('小于200元不打折,付款金额为:', money, '元!')

        3.5:条件表达式(双分支结构的简写)

语法结构: true的执行结果 if 判断条件 else false的执行结果
#案例:从键盘输入两个整数,比较两个数的大小
num_a=int(input('请输入数字1:'))
num_b=int(input('请输入数字2:'))
'''
print('---常规写法---')
if num_a>=num_b:
    print(num_a,'>=',num_b)
else:
    print(num_a,'<',num_b)
'''
print('---用条件表达式进行比较---')
print(str(num_a)+'>='+str(num_b) if num_a >= num_b else str(num_a)+'<'+str(num_b))#结果拼接起来
print((num_a, '>=', num_b) if num_a >= num_b else (num_a, '<', num_b))

 

四、pass语句--跳过

answer = input('您是会员吗?y/n:')
if answer =='y':
    pass
else:
    pass

五、range()函数

用于生成一个整数序列
特点:左包右不包(包含左边的数值start,不包含右边的数值stop)
#   5.1:range(stop)
#       创建一个[0,stop)之间的整数序列,步长为1
r=range(10)
print(r)
print('range(stop): ',list(r)) #用列表展示出出来
#   5.1:range(start,stop)
#       指定起始值,创建一个[start,stop)之间的整数序列,默认步长为1
r=range(1,10)
print('range(start,stop):',list(r))
#   5.2:range(start,stop,step)
#       指定起始值,创建一个[start,stop)之间的整数序列,默认步长为step
r=range(1,10,2)
print('range(start,stop,step):',list(r))

六、循环

循环的分类:while、for-in
选择结构if和循环结构while的区别:
    1.if是判断一次,条件为True执行一行
    2.while是判断n+粗,条件为Ture执行N行

        6.1:while循环

语法结构:
        while 条件表达式
            条件执行体(循环体)
四步循环法:
    1.初始化变量
    2.条件判断
    3.条件执行体(循环体)
    4.改变变量
#案例:计算0到4之间的累加和
sum=0#用于存储累加和
a=0 #1.初始化变量
while a<5:#2.判断条件
    sum+=a#3.条件执行体(循环体)
    a+=1#4.改变变量
print('累加和:',sum)

#练习:计算1-100之间的偶数和
#1.写法一
sum=0
a=0
while a<=100:
    sum+=a
    a+=2
print('写法1sum=',sum)

#2.写法二
sum=0
a=0  #1.初始化变量
while a<=100:#2.判断条件
    # 3.条件执行体(循环体)
    if a%2 == 0: #偶数为a%==0,奇数为a%!=0
        sum+=a
    a+=1 #4.改变变量
print('写法2sum=',sum)

         6.2:for-in循环

in表达从(字符串、序列等)中依次取值,又称为遍历

for-in遍历的对象必须是可迭代对象

语法结构:
    for 自定义变量 in 可迭代对象
        循环体
#遍历打印字符串
for item in 'python':
    print(item)
#遍历打印i
for i in range(10):
    print(i)
# 无自定义变量 用 _ 代替:循环5次python
for _ in range(5):
    print('python')
#计算1到100之间的偶数和
sum=0
for item in range(1,101):
    if item%2==0:
        sum+=item
print('1到100之间的偶数和:',sum)
#练习:输出100到999之间的水仙花数
#水仙花:数字=个位数的三次方+十位数的三次方+百位数的三次方
#eg:153=3*3*3+5*5*5+1*1*1
#方式1:转换为字符串
for i in range(100,1000):
    s=str(i)
    if int(s[0])**3+int(s[1])**3+int(s[2])**3 == i:
        print(i)
#方法2:用算数运算获取百位十位个位数字
for item in range(100,101):
    single_digit=item%10  #个位数
    ten_digit=item//10%10    #十位数
    hundreds_digit=item//100 #百位数
    # print(hundreds_digit,ten_digit,single_digit)
    if single_digit**3+ten_digit**3+hundreds_digit**3==item:
        print(item)

七、流程控制语句break、continue

        7.1:break (退出循环)

#案例:从键盘录入密码,最多录入3次,如果正确结束循环
#for循环
for item in range(3):
    pwd=input('请输入密码:')
    if pwd=='8888':
        print('密码正确!')
        break
    else:
        print('密码不正确!')
else:
    print('三次输入均错误!')
#while写法
a=0
while a<3:
    pwd = input('请输入密码:')
    if pwd == '8888':
        print('密码正确!')
        break
    else:
        print('密码不正确!')
    a+=1
else:
    print('三次输入均错误!')

        7.2:continue(结束当前循环,进入下一次循环)

#案例:输出1到50之间所有5的倍数
for i in range(1,51):
    if i%5 ==0:
        print(i)

#使用continue
for i in range(1,51):
    if i%5!=0:
        continue
    print(i)

八、嵌套循环

#案例:输出个三行四列的矩形
for i in range(1,4): #行表
    for j in range(1,5): #列表
        print('*',end='\t') #不换行输出
    print() #换行
#练习1:打印出9行的直角三角形
for i in range(1,10):#行数
    for j in range(1,i+1):
        print('*',end='')
    print()
#练习2:九九乘法表
for i in range(1,10):
    for j in range(1,i+1):
        print(i,'*',j,'=',i*j,end='\t')
    print()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值