python第四次作业——曾景

设计题1:

设计一个本月份日历,输出格式如下:
7fe1d8a9ea403301e3d8e953b3b2748.png

要求:
1.初始化start_day,end_day两个日期
from datetime import datetime
start_day=datetime(2019,4,1)
end_day=datetime(2019,4,30)
其它时间数据生成要用datetime或date模块的方法编程实现
2.不能使用calendar模块生成

from datetime import datetime
from datetime import timedelta
from datetime import *

start_day = datetime(2019, 4, 1)
end_day = datetime(2019, 4, 30)
days= end_day - start_day

month = start_day.month
week = start_day.weekday()
day = days.days + 1
count = 0
i= 0
print("4月 2019")
print("-----------------------------------------------------")
l = ("星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日")
for n in l:
print(format(n, "4"), end=" ")

while i<= week:
i+= 1
print("\t", end="")
count += 1
if(count % 7 == 0):
print("\n")

p = 1
while p <= day:
print(p, "\t", end="")
p += 1
count += 1
if(count % 7 == 0):
print("\n")

设计题2:

1.参考“三国演义”词频统计程序,实现对红楼梦出场人物的频次统计。
2.(可选)
将红楼梦出场人物的频次统计结果用词云显示。

import jieba
excludes = {"一个","我们","那里","你们","什么","如今","说道","知道","老太太","起来","王夫人","姑娘","这里","出来","他们","众人","自己","一面","太太"
            ,"只见","怎么","奶奶","两个","没有","不是","不知","这个","听见","贾母","贾琏","这样","进来","咱们","告诉","就是","东西","平儿","袭人",
           "回来","只是","大家","老爷","只得","丫头","这些","不敢","出去","所以","薛姨妈","不过","的话","不好","姐姐","鸳鸯","一时","不能","过来",
           "心里","二爷","如此","今日","银子","几个","答应","二人","还有","只管","这么","说话","一回","那边","这话","外头","打发","自然","今儿",
           "罢了","屋里","那些","听说","小丫头","邢夫人","如何","问道","看见","紫鹃","妹妹","人家","不用","媳妇","香菱","原来","一声","一句","家里",
           "不得","到底","这会子","进去","姊妹","别人","回去","明儿","丫鬟","过去","连忙","心中","方才","还是","婆子","尤氏","里头","小厮","哥哥",
           "不成","身上","只有","有人","起身","于是","一件","这是","果然","明白","那个","一日","怎么样","跟前","已经","谁知","有些","瞧瞧","越发",
           "难道","不肯"}
txt = open(r"C:\Users\apple\红楼梦.txt", "r", encoding='utf8').read()
words = jieba.lcut(txt)
 
counts = {}   # 定义一个字典
 
for word in words:
    if len(word) == 1:
        continue
    elif word == "宝玉":
        rword = "贾宝玉"
    elif word == "黛玉":
        rword = "林黛玉"  
    elif word == "熙凤" or word == "凤姐" or word=="凤姐儿":
        rword = "王熙凤"
    elif word == "湘云":
        rword = "史湘云"
    elif word == "贾政":
        rword = "贾政"
    elif word == "刘姥姥":
        rword = "刘姥姥"
    elif word == "贾珍":
        rword = "贾珍"
    elif word == "宝钗":
        rword = "薛宝钗"
    elif word == "薛蟠":
        rword = "薛蟠"
    elif word == "探春":
        rword = "贾探春"
    elif word == "晴雯":
        rword = "晴雯"
    else:
        rword = word
    counts[rword] = counts.get(rword, 0) + 1   # 词汇加入字典
 
for word in excludes:
    del(counts[word])   # 从字典中删除无用词
 
items = list(counts.items())   # 字典转换为列表
 
# lambda是一个隐函数,是固定写法,以下命令的意思就是按照记录的第2列排序
"""x表示列表中的一个元素,x只是临时起的一个名字,
你可以使用任意的名字"""
 
items.sort(key=lambda x: x[1], reverse=True)
 
for i in range(11):   # 出现的词频统计
    word, count = items[i]   # 将键和值分别赋予列表word和count
    print("{0:<10}{1:<7}".format(word, count))   # 0:<10左对齐,宽度10,”>5"右对齐

猜你喜欢

转载自www.cnblogs.com/kurny/p/10808853.html
今日推荐