# @author :kangkang
# @time :2023/3/9 14:09
# @file :day06_for_循环_作业.py
# _*_ coding:utf-8 _*_
"""
题目1、输出99乘法表(双重for循环)
格式如下:(每项数据之间空一个Tab键,可以使用"\t")
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
题目2:用户输入月份,判断这个月是哪个季节(for循环实现)
题目3:冒泡排序(面试前记住就好。有时间可以自己写一下。没有时间就暂时不用管。)
"""
# 方法1 双重for循环
print("第一题:这是第一解法")
for i in range(1, 10):
for j in range(1, i+1):
print(f"{j} * {i} = {i * j}", end='\t')
print(end='\n')
print("第一题:这是第二解法")
# 方法2,列表推导式
print('\n'.join(['\t'.join([f"{j} * {i} = {i * j}" for j in range(1, i+1)]) for i in range(1, 10)]))
# 方法3 for,while.
print("第一题:这是第三解法")
i = 0
while i < 10:
for j in range(1, i+1):
print(f"{j} * {i} = {i * j}", end='\t')
print(end='\n')
i += 1
# 方法4, for,while
print("第一题:这是第四解法")
for i in range(1, 10):
j = 0
while j < i:
j += 1
print(f"{j} * {i} = {i * j}", end='\t')
print(end='\n')
print("第二题:方法1")
dict_season = {"春季": [3, 4, 5], "夏季": [6, 7, 8], "秋季": [9, 10, 11], "冬季": [12, 1, 2]}
a = int(input("请输入月份"))
if 1 <= a <= 12:
for key, value in dict_season.items():
if a in value:
print(f"输入的月份是{a}, 当前是{key}")
else:
print("输入的月份不对")
print("第二题:方法2")
if 1 <= a <= 12:
print(list(key for key, value in dict_season.items() if a in value))
else:
print("输入的月份不对")
print("这是第三题:冒泡排序")
list_a = [99, 53, 42, 15, 8, 5]
m = 0
for j in range(1, len(list_a)):
for i in range(0, len(list_a)-j):
if list_a[i] >= list_a[i+1]:
list_a[i], list_a[i+1] = list_a[i+1], list_a[i]
m += 1
print(f"共计排序了{m}次")
print(list_a)