Python 入门基础2
#我深知自己学习进度较慢,但不能因一味追求速度而忽略了质量,截止到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
更多推荐
所有评论(0)