#我深知自己学习进度较慢,但不能因一味追求速度而忽略了质量,截止到10月18日黑马程序员学习到了5.11函数综合案例,由于掌握不太扎实,所以汇报本周学习的一部分,本周汇报内容将从3.2if 语句的基本格式到4.13循环的综合案例。汇报中不乏有许多图片,但会相比之前全图片的形式多许多文字,还望学长指出不足之处。

进入正题,本周学习中二刷有了新的感悟。先说第三章吧,3.2这节注意的事项是if语句基本格式是有4个空格缩进,结果一定是布尔类型,判断条件后有冒号。3.3主要多了else这个玩意,跟if差不多但要不需要判断条件,当if条件不满足时,else执行。如果把if_elif_else比作辩论赛,那么if是正方一辩,elif则是正方二辩,三辩,可以是一个人也可以是多个人,else则是反方中抓住正方最后一位辩手语言上漏洞的绝地反击的那个人,也许前面的毫无破绽,但被反方x辩挑出了可以反驳的机会。

下面是练习

的代码

#获取键盘输入
# age=int(input("请输入你的年龄:"))
# if age>=18:
#     print("您已成年,游玩需补票10元。")
# print("祝您游玩愉快。")
age=int(input("请输入你的年龄:"))
if age>=18:
    print("您已成年,需要买票10元。")
else:
    print("您未成年,可以免费游玩。")

print("欢迎来到黑马动物园。")
height=int(input("请输入你的身高:"))
if height>=120:
    print("您的身高超出120cm,游玩需要购票10元。")
else:
    print("您的身高未超过120出门cm,可以免费游玩。")
print("祝您游玩愉快。")
height = int(input("请输入你的身高(cm): "))
vip_level = int(input("请输入你的VIP等级(1-5):"))
day = int(input("请告诉我今天几号:"))
#通过if判断,可以使用多条件判断的语法
if height < 120:
    print("身高小于120cm,可以免费。")
elif vip_level >3:
    print("vip级别大于3,可以免费。")
elif day ==1 :
    print("今天是1号免费日,可以免费。")
else:
    print("不好意思,条件都不满足,需要买票10元。")
#简化版
if  int(input("请输入你的身高(cm): ")) <  120:
    print("身高小于120cm,可以免费。")
elif int(input("请输入你的VIP等级(1-5):")) >3:
    print("vip级别大于3,可以免费。")
elif int(input("请告诉我今天几号:")) ==1 :
    print("今天是1号免费日,可以免费。")
else:
    print("不好意思,条件都不满足,需要买票10元。")

3.8判断语句的嵌套就像俄罗斯套娃要注意的是第二个if属于第一个if,关键在于空格缩进。以下是综合案例的代码。

# #自己写的代码
num=10
if int(input("第一次猜想的数字"))==10:
    print("猜对了")
elif int(input("第二次猜数字"))==10:
    print("猜对了")
elif int(input("第三次猜数字"))==10:
    print("猜对了")
else:
    print("Sorry,全部猜错了,我想要的数字是:10")
# #黑马程序员写的代码
num = 5
if int(input("请猜一个数字:")) ==num:
    print("恭喜第一次就猜对了呢")
elif int(input("猜错了,再猜一次:")) == num:
    print("猜对了")
elif int(input("猜错了,再猜一次:")) ==num:
    print("恭喜,最后一次机会,你猜对了")
else:
    print("Sorry 猜错了")
#判断语句的嵌套使用
if int(input("你的身高是多少:")) >120:
    print("身高超出限制,不可以免费")
    print("但是,如果vip级别大于3,可以免费")

    if int(input("你的vip级别是多少:")) >3:
        print("恭喜你,vip级别达标,可以免费")
    else:
        print("Sorry,你要买票10元")
else:
    print("欢迎小朋友,免费游玩。")

age = 11
year =1
level = 1
if age >=18:
    print("已成年,可以继续判断。")
    if age <30:
        print("你的年龄达标了")
        if year >2:
            print("恭喜你,年龄和入职时间都达标,可以领取礼物")
        elif level >3 :
            print("恭喜你,年龄和级别达标,可以领取礼物")
        else:
            print("不好意思,尽管年龄达标,但是入职时间和级别不达标。")
    else:
        print("不好意思,年龄太大了")
else:
    print("不好意思,小朋友不可以领取。")
#判断语句综合案例 猜数字 我写的
import random
num = random.randint(1,10)
if int(input("猜一个数字")) == num:
    print("恭喜你第一次猜对了")
elif int(input("再猜一次")) ==num:
    print("恭喜你第二次猜对了")
elif int(input("再猜一次")) ==num:
    print("恭喜你第三次猜对了")
else:
     print("Sorry,猜错了")
#黑马程序员的
import random
num = random.randint(1,10)
guess_num =int(input("输入你要猜的数字:"))
if guess_num ==num:
    print("恭喜你第一次猜对了")
else:
    if guess_num>num:
        print("你猜测的数字大了")
    else:
        print("你猜测的数字小了")
    guess_num =int(input("输入你要猜的数字:"))
    if guess_num ==num:
        print("恭喜你第二次猜中了")
    else:
        if guess_num > num:
            print("你猜测的数字大了")
        else:
            print("你猜测的数字小了")
    guess_num =int(input("输入你要猜的数字:"))
    if guess_num ==num:
         print("恭喜你第三次猜对了")
    else:
        print("三次机会用完了,没有猜中。")




接下来汇报第4章的内容,发一些截图,笔记就不发了,之后说一下自己的感悟。

 

分析一下while循环的综合案例,请看代码。

#while循环的嵌套使用
i = 1
while i <= 100 :
    print(f"今天是第{i}天,准备表白")
    j = 1
    while j <= 10:
        print(f"送给小美的第{j}只玫瑰花")
        j += 1

    print("小美,我喜欢你")
    i +=1
print(f"坚持到第{i-1}天,表白成功")

print("hello")
print("world")

print("hello",end = '')
print("world",end ='')

print("hello world")
print("itheima best")

print("hello\tworld")
print("itheima\tbest")

基本跟判断句的嵌套一样,循环语句的嵌套,注意空格缩进,注意条件设置避免无限循环。

#打印九九乘法表,使用while的嵌套循环
#定义外层循环的控制变量
i = 1
while i <= 9 :
    #定义内层循环的控制变量
    j=1
    while j <= i :
        #内层循环的print语句,不要换行,通过\t制表符进行对齐
      print(f"{j}*{i}={j*i}\t",end='')
      j+=1
    i += 1
    print()  #print空内容,就是输出一个换行

二刷发现了一个有趣的点,我把运行的结果也呈现出来,你会发现if的对齐位置不同代码结果也不同。

#自己写的错误案例
# for i in range(1,10):
#     for j in range(1,10):
#         print(f"{i}*{j}={i*j}")
# print()
#通过外层循环控制行数
for i in range(1,10):
    #通过内层循环控制每一行的数据
    for j in range(1,i+1):
        #在内层循环中输入每一行的内容
        print(f"{j}*{i}={j*i}\t",end='')

    print()
#若将最后一个print对准第一个for,运行时代码只会一字排开。
#若将最后一个print对准第二个for,运行时代码才会成塔状。

   

 

 

D:\pythonProject\.venv\Scripts\python.exe C:\Users\liyou\AppData\Roaming\JetBrains\PyCharm2024.1\scratches\14.py 
1*1=1	1*2=2	2*2=4	1*3=3	2*3=6	3*3=9	1*4=4	2*4=8	3*4=12	4*4=16	1*5=5	2*5=10	3*5=15	4*5=20	5*5=25	1*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36	1*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49	1*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64	1*9=9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81	

进程已结束,退出代码为 0

 

这是将print对准第一个for

 

D:\pythonProject\.venv\Scripts\python.exe C:\Users\liyou\AppData\Roaming\JetBrains\PyCharm2024.1\scratches\14.py 
1*1=1	
1*2=2	2*2=4	
1*3=3	2*3=6	3*3=9	
1*4=4	2*4=8	3*4=12	4*4=16	
1*5=5	2*5=10	3*5=15	4*5=20	5*5=25	
1*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36	
1*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49	
1*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64	
1*9=9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81	

进程已结束,退出代码为 0

这是将print对准第二个for

之前分不清continue和break的区分与联系,仔细想想continue英文是“持续,维持现状”的意思,而break英文是“ 中断”的意思,虽然在运行时都有中断的作用,但一个是临时中断一个是直接结束循环。也许用个形象的比喻continue是蔫儿的白菜叶摘去其他的还能吃,break是坏了的白菜,如果不想拉肚子就不能继续食用。最后是本次回报的结尾循环的综合案例——发工资,各位看官请看代码:

money = 10000
for i in range(1,21):
    import random
    score = random.randint(1,10)

    if score < 5:
        print(f"员工{i}绩效分{score},不满足,不发工资,下一位")
        #continue跳过发放
        continue
    if money >= 1000:
        money -= 1000
        print(f"员工{i}满足条件发放工资1000,公司账户余额:{money}")
    else :
        print(f"余额不足,当前余额:{money}元,不足以发工资,不发了,下个月再来")
        #break结束发放
        break

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐