1.银行利率问题
num = int (input("请输入你要存的金额:"))
end_num = int (input("你目标的金额:"))
years = 0
while num<end_num:
    years += 1
    num =num+ num*0.05
    print(f"第{years}年的本金加利息是:",num)
print(f"一共需要{years}年")
2.从键盘接收一个字符串,判断是不是回文
str1 = input("请输入一个字符串:")
 if str1[::1]==str1[::-1]:
     print('是一个回文串')
 else:
     print("不是一个回文串")
3.打印九九乘法表
for i in range(1,10):
     for j in range(1,10):
         if j <=i:
             print(f'{j}*{i}={i*j}',end=',')
             j+=1
     print('\n')
4.打印100-1000以内的水仙花数,例如:153 = 13 + 53 + 3**3
for i in range(100,1000):
    str1=str(i)
    a=str1[0]
    b = str1[1]
    c = str1[2]
    count = int(a)**3+int(b)**3+int(c)**3
    if i==count:
        print(f'{i}是一个水仙花数')
    else:
        continue)
5.判断空气质量
while True:
     value_pm = input("输入本次需要查询的值,输入Q则退出:")
     if value_pm == 'Q':
         break
     else:
         value_pm=int (value_pm)
         if 0<value_pm<=50:
             print("空气质量状况:优")
         elif 51<value_pm<=100:
             print("空气质量状况:良")
         elif 101<value_pm<=150:
             print("空气质量状况:轻度污染")
         elif 151<value_pm<=200:
             print("空气质量状况:中度污染")
         elif 201<value_pm<=300:
             print("空气质量状况:重度污染")
         else:
             print("空气质量状况:严重污染")
6.猜大小小游戏
import random
  sum = 0
 count = 0
 jindou=200
 while True:
     first_num = random.randint(1, 7)
     second_num = random.randint(1, 7)
     third_num = random.randint(1, 7)
     if jindou>100:
         user_guess = input("请输入你猜的结果,输入exit选择退出:")
         if user_guess=='exit':
             print('游戏结束')
             break
         if 3<first_num+second_num+third_num<=10 and user_guess=='小':
             print('恭喜你猜中了,金豆加100')
             jindou+=100
             count+=1
             sum +=1
         elif 10<first_num+second_num+third_num<=18 and user_guess=='大':
             print('恭喜你猜中了,金豆加100')
             jindou+=100
             count += 1
             sum+=1
         else:
             print("没猜中,金豆减100")
             jindou-=100
             sum += 1
     else:
         print('金豆不足请充值!!')
         break
win = '%.2f'%(count/sum)
a=win.split('.')
if a[0]=='1':
    print(f"你一共猜了{sum}次,胜率是100%")
else:
    print(f"你一共猜了{sum}次,胜率是{a[1]}%")
7.用python实现tree命令
import os
	def getTree(path,n):
	    #将路径按照\\分割,并存放到lis列表中
	    lis = path.split("\\")
	    if n==1:
	        #得到路径里的最后一个文件名
	        print(lis[len(lis)-1] + '|--')
	        #判断这个路径是不是文件夹
	    if os.path.isdir(path):
	        #如果是文件夹,循环得到里面的文件
	        for i in os.listdir(path):
	            #输出缩进加上文件夹里面的文件
	            print("\t"*n + '|--'+i)
	            #判断当前路径加上文件夹里面的文件名是不是一个新的路径,如果是,就递归调用函数
	            if os.path.isdir(path+"\\"+i):
	                getTree(path+"\\"+i, n+1)
	getTree('C:\\Users\\23314\\PycharmProjects\\day02\\每日一题',1)
8.ip存储与读取文件统计ip频率

功能:生成一个大文件ips.txt,要求1200行,每行随即为172.25.254.0/24段的ip;
读取ips.txt文件统计这个文件中ip出现频率前10的ip

#导入random函数,新建100个ip地址
import random
fp = open("ips.txt",'w+',encoding="utf-8")
for i in range(100):
    num=random.randint(1,255)
    fp.write(f'172.25.254.{num}\n')
#调整光标到第一个
fp.seek(0)
#新建一个字典用于存放ip地址和值
s = {}
# 循环判断是不是出现了,如果出现了,值加1,如果没出现,初始值赋为1
for i in fp.readlines():
# 更简便的判断,如果出现了,值加1,如果没出现,初始值赋为1,s[i]=s.get(i,0)+1
    if i in s:
        s[i] += 1
    else:
        s[i] = 1
 
#把他们的键和值都转换成列表保存
sort_li = list(s.items())
#sorted函数:一共可接受4个参数,含义分别如下:
# 1.可迭代类型,例如字典、列表、
# 2.比较函数
# 3.可迭代类型中某个属性,对给定元素的每一项进行排序
# 4.降序或升序
#使用了sorted函数,按value的值从小到大排序,按value的值从后往前取10个,最后一个是出现次数最多的ip地址
sort = sorted(sort_li,key=lambda x:x[1])[-10:]
#从后往前排序,第一个就是IP地址出现次数最多的ip
for i in sort[1::]:
    print(i[0],end='')
fp.close()
9.统计文本Waldent(1).txt中每个词出现的频率,不统计标点符号,不区分大小写
# 以只读的方式打开瓦尔登湖文件
with open("Walden(1).txt",'r') as fp:
    fp = fp.read()
    #将文件中的大写字母转换成小写,不区分大小写
    fp = fp.lower()
    #循环去除文中的特殊字符,用空格代替
    for ch in fp:
        if ch in "!@#$%^&*(){}[]:;'/?.,<>":
            fp = fp.replace(ch, ' ')
    #通过空格来切割fp字符串,得到一个列表
    fp = fp.split(" ")
    #定义一个字典用于存放单词和出现的次数
    count = {}
    #循环fp列表,先判断是不是字母,如果是,判断是不是存在于字典中,存在则value值加1,不存在则value值定为1
    for i in fp:
        if i.isalpha():
            if i in count:
                count[i]+=1
            else:
                count[i]=1
        else:
            continue
    print(count)
10.得到一个数为24,通过加减乘除
def get_24(lst):
    num = 24-lst[-1]
    if num==lst[1]*lst[0] or num==lst[1]+lst[0] or num==lst[1]-lst[0] or num==lst[1]/lst[0]:
        return True
    flag =24*lst[-1]
    if flag==lst[1]*lst[0] or flag==lst[1]+lst[0] or flag==lst[1]-lst[0] or flag==lst[1]/lst[0]:
        return True
    count = 24+lst[-1]
    if count==lst[1]*lst[0] or count==lst[1]+lst[0] or count==lst[1]-lst[0] or count==lst[1]/lst[0]:
        return True
    test = 24/lst[-1]
    if test==lst[1]*lst[0] or test==lst[1]+lst[0] or test==lst[1]-lst[0] or test==lst[1]/lst[0]:
        return True
    else:
        return False
print(get_24([1,1,24]))