python学习---dayday2
1、布尔类型(Ture真、False假)
2、比较运算符
==等于 !=不等于 >大于 <小于 >=大于等于 <=小于等于
3、 if语句、if else语句、if elif else语句
#if语句
age = 18
if age >= 18:print(f"{age}已成年")
"""if else通过input,获取键盘输入,为变量age赋值通过if判断是否是成年人,满足输出:您已成年!
"""
age = int(input("请输入您的年龄:"))
if age >= 18:print(f"{age}您已成年")
else:print(f"{age}您还未成年")
print("cc")
# if elif else
age = int(input("请输入您的年龄:"))
money = int(input("有多少钱?"))
day = int(input("今天是几号?"))
# 满足哪一个条件,就输出哪一个条件的内容
if age >= 18:print(f"{age}您已成年")
elif money >= 5:print("%d年纪,有%d人民币" % (age,money))
elif day == 1:print("%d年纪,有%d人民币,今天是%d号" % (age,money,day))
else:print("都不满足条件")
print("cc")# 满足哪一个条件,就输出哪一个条件的内容
if int(input("猜一猜,只有三次机会:")) == 18:print("第一次猜对了")
elif int(input("猜错了,只剩两次机会:")) == 18:print("第二次猜对了")
elif int(input("猜错了,只剩一次机会:")) == 18:print("第三次猜对了")
else:print("都猜错了")
print("cc")
4、if else嵌套(第一层if满足条件,则会执行第二层的if)
# 第一层if满足条件,则会执行第二层的if
if int(input("身高?")) >= 180:print("180大高个")if int(input("vip级别?")) >= 8:print("vip级别达到8")else:print("vip级别没有达到8")
else:print("身高没有达到180")
print("cc")
1、年纪大于等于18,小于30,且入职时间大于2年,或级别大于3才可以领取
# 年纪大于等于18,小于30,且入职时间大于2年,或级别大于3才可以领取
if 18 <= int(input("输入年纪:")) < 30:print("年纪满足,还需要确认年限或级别是否满足")if int(input("输入年限:")) > 2:print("年纪满足,年限大于2年,可以领取")elif int(input("输入级别:")) > 3:print("年纪满足,级别大于3,可以领取")else:print("年纪满足,年限或级别都不满足,不可以领取")
else:print("年纪不满足,不可以领取")
5、while循环
1、循环输出三次
# 循环输出三次
i = 0
while i < 3:print("你好")i += 1 #输出一次,i就加上1,再去比较小于3
# i=0,输出一次;i=1,输出一次;i+2,输出一次;i=3,不符合条件,退出
2、通过while循环,计算从1累加到100的和
# 通过while循环,计算从1累加到100的和
sum = 0
i = 1
while i <= 100:sum += ii += 1
print(sum)
3、从1-10(包含)之间随机输出
random.randint 随机整数
import random
#从1-10(包含)之间随机输出
num = random.randint(1,10)
print(num)
4、1-10之间随机,3次机会猜测
"""数字随机产生,范围1-103次机会猜测数字,通过3层嵌套判断实现每次猜不中,需要提示大了还是小了
"""
i = 0
while i < 3:guess_num = int(input("输入猜测的数字:"))if guess_num == num:print("猜中了")breakelse:if guess_num >num:print("猜大了")else:print("猜小了")i += 1
5、1-100(包含)之间,计算猜测了几次猜对了
import random
'''通过while循环,配合input语句,1-100的随机整数,判断输入的数字是否等于随机数
'''
num = random.randint(1,100)
print(num)
count = 0
flag = True
while flag:guess_num = int(input("请输入整数:"))count += 1if guess_num == num:print("猜对了")# breakflag = Falseelse:if guess_num < num:print("猜小了")else:print("猜大了")
print(f"总共猜了{count}")
6、 while嵌套循环
1、每天送10朵鲜花,坚持100天
# 每天送10朵鲜花,坚持100天
i = 1
while i <= 100:print(f"今天是第{i}天")j = 1while j <= 10:print(f"送出{j}朵鲜花")j += 1print("1-100天,今天送10朵鲜花打卡结束")i += 1
print(f"坚持到{i-1}天,成功送完")
2、打印九九乘法表(i代表每一行,j是每一列,每到j的时候都是以1开始执行)
\t ---> 空格
end='' ---> 不换行
# while嵌套循环,打印九九乘法表
# i代表每一行,j是每一列(第五行,就有五个列,即列数小于等于行数)
i = 1
while i <= 9:j = 1while j <= i:# \t 空格,end=''不换行print(f"{j}x{i}={j*i}\t", end='')j += 1i += 1# 对齐print()
7、for循环
1、通过for循环,遍历字符串,统计有多少个英文字母a
"""定义字符串变量name,内容:itheima is a brand of itcast通过for循环,遍历此字符串,统计有多少个英文字母a
"""
name = "itheima is a brand of itcast"
count = 0
for i in name:if i == "a":count += 1
print(f"一共有{count}个a")
8、range语句
range(num) 从0(包含)到num(不包含)结束
range(num1,num2) 从num1(包含)到num2(不包含)结束
range(num1,num2,step) step为序列(默认1)
1、range(5,10,2) ---> 5、7、9
"""range(num) ---从0(包含)开始,到num(不包含)结束range(num1,num2) ---从num1(包含)开始,到num2(不包含)结束range(num1,num2,step) ---从num1(包含)开始,到num2(不包含)结束的数字序列(以step为准,默认1)range(5,10,2) 取的数据是:5,7,9
"""
print("语法1")
for i in range(10):print(f"{i}\t",end='')
print("-----")
print("语法2")
for x in range(5,10):print(f"{x}\t",end='')
print("-----")
print("语法3")
for j in range(5,10,2):print(f"{j}\t",end='')
1、使用range()语句,1-100,or循环遍历,且统计多少偶数出现
# 使用range()语句,获取从1到100的序列,使用for循环遍历,且统计多少偶数出现
count = 0
for i in range(1,101):if i % 2 == 0:count += 1
print(f"0-100,一共有{count}个偶数")
9、for嵌套循环
1、坚持表白100天,每天送花10束
# 坚持表白100天,每天送花10束
i = 1
j = 1
for i in range(1,101):print(f"送花的第{i}天")for j in range(1,11):print(f"送花的第{j}束")print("结束一天")
print(f"坚持表白{i}天,每天送花{j}束")
2、使用while 和 for 循环嵌套:坚持表白100天,每天送花10束
# 使用while 和 for 循环嵌套:坚持表白100天,每天送花10束
i = 1
j = 1
while i <= 100:print(f"这是第{i}天")for j in range(1,11):print(f"送花的第{j}束")i += 1print("结束一天")
print(f"坚持{i-1}天,每天送{j}束花")
3、使用for循环打印九九乘法表
# 使用for循环打印九九乘法表
# i代表行数,j代表列数-->第一行是一列,第二行是两列
for i in range(1,10):# 右边是不包含的,所以要加一位for j in range(1,i+1):print(f"{j}x{i}={j*i}\t",end='')j += 1i += 1print()
10、continue与break
1、continue 遇到停止当前之后的语句,若循环会再次执行continue之前的语句
# continue 中断之后的语句
for i in range(1,6):print("1111")continueprint("222")
2、break 遇到直接停止程序
# break 遇到break,整个程序停止
for i in range(1,6):print("1111")breakprint("222")
3、 实例:1w元,对20名且绩效不小于5的依次发放1000元
import random
'''余额1w,给20名员工发工资员工编号从1到20,每人1000元,依次发放但还需判断绩效1-10分(随机生成),小于5,不发工资,跳过发完了,则结束程序
'''
money = 10000
for name_id in range(1,21):score = random.randint(1,10)if score >= 5:if money >= 1000:money -= 1000print(f"{name_id}编号员工,绩效{score}大于等于5,还剩{money}元,下一位")else:print("工资已发完")breakelse:print(f"{name_id}编号员工,绩效{score}小于5,不发放工资,下一位")continue
print(f"还剩{money}元")