'''
条件判断及嵌套
'''
# name = input("请输入你的姓名:")
# gender = input("请输入你的性别:")
# :行的结束
# if gender == "女":
# print(f"邀请{name}女士参加")
# else:
# print("欢迎下次再来!")
# elif else...if...
# pass 是占位符 1 保证语法正确 2 具体的应用场景很多
# 具体的三种情况
# 1 只有一个if
# a = int(input("请输入一个数:"))
# if a ==1:
# print("正确!")
# 2 一个if 一个else
# name = input("请输入你的姓名:")
# gender = input("请输入你的性别:")
# # :行的结束
# if gender == "女":
# print(f"邀请{name}女士参加")
# else:
# print("欢迎下次再来!")
# elif 存在多种情况时
# 1 奖金100w 2 高考上清华 3 脱单 4我都要
# choice = int(input("请输入你的选项:"))
# if choice == 1:
# print("奖金100w")
# elif choice == 2:
# print("高考上清华")
# elif choice == 3:
# print("脱单")
# else:
# print("我都要")
# if elif 都可以存在多个 但是else只能存在一个
############################################################
# name = input("请输入你的姓名:")
# gender = input("请输入你的性别:")
# # :行的结束
# if gender == "女":
# print(f"邀请{name}女士参加")
# elif gender =="男":
# print(f"{name}男生抱歉座位已满,欢迎下次再来!")
# else:
# print("您输入的信息有误,无法识别!")
##############################################
name = input("请输入你的姓名:")
gender = input("请输入你的性别:")
# :行的结束
if gender == "女":
whether= input("请输入你有没有对象:")
if whether =="无": # elif可以换成else 但是只考虑有无的情况
print(f"邀请{name}女士参加")
elif whether =="有":
print("等分手后再来!")
elif gender =="男":
print(f"{name}男生抱歉座位已满,欢迎下次再来!")
else:
print("您输入的信息有误,无法识别!")
'''
while循环
'''
# 女主角: 如果世界还剩下1分钟 你会干嘛
# 男主角: 我会说60次我爱你
# print("我爱你!")
# 前面打红点 叫设置断点
# count = 0 # 计数器
# while count < 5:
# print("我爱你")
# count += 1
# count = 0 # 计数器
# while count < 5:
# count += 1
# print('hello everybaby')
# print("结束了")
# 第一步 肯定是拿到1-100之间的值 整数
# count = 0
# while count < 100:
# count += 1
# print(count)
# 第二步将拿到的1-100之间的值进行累加
# count = 0 # 计数器
# sum_num = 0 # 一个容器 用于累加的容器
# while count < 100:
# count += 1
# sum_num += count # sum_num = sum_num + count
# # 此时循环没有结束 因为我的条件还是为真的
# print(count)
# print(sum_num) # 5050
# 打印1-10之间的值 当要打印8的时候 终止
# i = 0
# while i < 10:
# i += 1
# # 条件
# if i == 8: # 如果满足 是不是执行42行代码
# break # 打印到8就整体结束了 提前结束循环
# print(i)
# i = 0
# while i < 10:
# i += 1
# # 条件
# if i == 8: # 如果满足 是不是执行42行代码
# continue # 到了8这一轮循环就不打印了 跳出当前的循环 下面的所有剩余语句都不执行
# print(i)
# 死循环 条件永远为真的
# while True:
# print("你的对的!!")
# 正常情况下
# count = 0
# while count < 5:
# print(f"{count}小于5")
# count += 1 # 不要忘记了
# # break # 非正常情况下 else下面的代码块不执行
# else:
# print(f"{count}不小于5")
# 打印直角三角形
# 1 是不是有4行 是不是在那一行就有多少个*
i = 1
while i <= 4:
# print(i) # 嵌套是需要写在这里的
j = 1
while j <= i: # 控制打印*的次数 也就是我们循环的次数
print("*",end="") # end 默认换行,否则打印一个*就换行了
j += 1
print() # 默认end换行,不用就全部*都打印在一行了
i += 1
'''
for循环
'''
# li = [1, 2, 3, 4]
# for i in li: # 变量 可以更改 abcdefg
# print(i,type(i))
#
# for i in abc: # NameError: name 'abc' is not defined 未定义的变量也无法打印
# for i in "abc":
# for i in 123: # TypeError: 'int' object is not iterable 整数不是可迭代对象,不是一个序列无法打印
# for i in "123":
# print(i,type(i))
# 字典有点特殊 他是由键值对组成的
dic = {"name": "张三", "age": 20, "heigth": 170.0}
# for i in dic:
# print(i) # 默认打印键
# 打印值
# print(dic[i]) # dic[name] dic['name']
# items
# for i in dic.items():
# print(i) # 键值对 以元组的形式返回的 list 进行强制转换
# 1-10000之间的整数
# count = 0 #count=1也是打印到10000,只是开始的1变成2了
# while count < 10000:
# count += 1
# print(count)
# range() # 用于生成一组连续的整数
# range(起始值, 结束值, 步长)
# 切片模式 li[起始索引:结束索引:步长]
# for i in range(0,10001):
# # 满足左闭右开 起始值不写默认从0开始 步长也是默认为一
# print(i)
# for求1-100之间的偶数和
# 1 拿到1-100之间的值
# 2 将拿到的值进行筛选
# 3 将筛选出来的值进行累加
# sum_num = 0 # 作为容器 容器本身应该是空的
# for i in range(1, 101):
# # sum_num = 0 # 不能放里面
# # print(i)
# if i % 2 == 0: #余数为0
# print(i) # 筛选出来的值
# sum_num += i # 将值丢到容器中
# 退出循环打印
# print(sum_num)
# 求5的阶乘 5! =5*4*3*2*1 120 10! = 10*9*8*7*6*5*4*3*2*1
# 1 拿到1-5之间的整数值 1 2 3 4 5
# 2 将拿到的值进行累乘
# 定义一个容器
num_multiplication = 1
for i in range(1, 6):
# num_multiplication = 1 # 写在里面 每一次循环前面累乘的值都重新变成1
# print(i)
num_multiplication *= i # num_multiplication = num_multiplication*i
# print(num_multiplication)
# ctrl+c 复制 ctrl+v 粘贴 ctrl+Z 撤回 ctrl+B 查看源码
# ctrl+D pycharm进行复制 ctrl+s 保存 但是我们的pycharm自动保存
# 自动去除空格 ctrl + alt +L
# for 循环的嵌套 打印九九乘法表
# 9行 在那一行就有几个表达式 动态变化的
# for i in range(1, 10): # range 范围左闭右开
# # print(i) # 内层循环要循环的次数
# for j in range(1, i+1): # 10次
# # print(j)
# print(f"{i}*{j}={i*j}",end=" ")
# print() # 当内层循环结束之后进行一个换行的操作
# # 只有当我的内层循环循环完了才会退出
# # 格式有问题