python第二版答案第六章_Python语言程序设计基础(第2版) 课后题 第六章

这篇博客展示了如何使用Python生成随机密码,并检查输入数字是否有重复。还涉及了英文字符计数和《红楼梦》中人物名称的频率统计。
摘要由CSDN通过智能技术生成

课后题是配套的参考答案

#6.1

from random import randint

def randd():

pword=''

for i in range(8):

u = randint(0,62)

if u>=10:

if 90

pword+=chr(u+62)

else:

pword+=chr(u+55)

print("{} ".format(u+55),end="")

else:

pword+='%d'%u

return pword

def main():

for i in range(1,11):

print("生成的第{}个密码是:{}".format(i,randd()))

main()

115 99 65 75 生成的第1个密码是:7scA5K69

100 98 97 76 71 72 81 109 生成的第2个密码是:dbaLGHQm

115 67 67 65 112 104 66 生成的第3个密码是:sCCAphB3

116 113 72 90 75 108 109 生成的第4个密码是:tq9HZKlm

66 114 71 66 80 生成的第5个密码是:6BrG6B2P

89 103 95 114 80 87 生成的第6个密码是:Y3gfrP2W

95 108 111 71 87 115 生成的第7个密码是:floG3Ws0

101 75 81 75 71 生成的第8个密码是:eKQ52K4G

84 77 93 82 107 116 70 生成的第9个密码是:T4MdRktF

84 83 79 77 104 89 89 生成的第10个密码是:TSOM5hYY

#6.2

def main():

num=[]

n=input("请输入一组数字(或者直接按回车结束程序):")

while n!="":

num.append(eval(n))

n=input("请输入一组数字(或者直接按回车结束程序):")

else:

print("正在处理,请稍等")

judge(num)

def judge(n):

if len(n) == len(set(n)):

print("鉴定完毕,没有重复的元素")

else:

print("有重复的元素,总共有{}个".format(len(n)-len(set(n))))

main()

请输入一组数字(或者直接按回车结束程序):56

请输入一组数字(或者直接按回车结束程序):25

请输入一组数字(或者直接按回车结束程序):56

请输入一组数字(或者直接按回车结束程序):22

请输入一组数字(或者直接按回车结束程序):11

请输入一组数字(或者直接按回车结束程序):

正在处理,请稍等

有重复的元素,总共有1个

#6.4

txt=input("请输入您想输入的英文句子:")

counts={}

ex=[',','.','?','!',':','"',';']

for i in txt:

if i == " " or i in ex:

continue

else:

if ord(i)<97:

i=chr(ord(i)+32)

counts[i]=counts.get(i,0)+1

items=list(counts.items())

items.sort(key=lambda x:x[1],reverse=True)

for u in range(len(items)):

alpha,count=items[u]

print("{} -> {}".format(alpha,count))

请输入您想输入的英文句子:hsgstge

s -> 2

g -> 2

h -> 1

t -> 1

e -> 1

#6.6

import jieba.posseg as ps

txt = open('红楼梦.txt','r',encoding = 'utf-8').read()

exclude = ['明白']

counts = {}

def countFigures():

words = ps.cut(txt)

for w in words:

if len(w.word) == 1:

continue

if w.flag == 'nr':

counts[w.word] = counts.get(w.word, 0) + 1

for key in exclude:

del(counts[key])

items = list(counts.items())

items.sort(key = lambda x:x[1], reverse = True)

for i in range(20):

word, count = items[i]

print('{0:<10}{1:>5}'.format(word,count))

countFigures()

宝玉 3748

贾母 1252

凤姐 1129

王夫人 1011

老太太 966

黛玉 870

宝钗 747

贾琏 679

凤姐儿 470

薛姨妈 453

贾政 433

探春 432

紫鹃 406

小丫头 287

贾珍 284

邢夫人 284

林黛玉 280

尤氏 267

薛蟠 237

贾蓉 176

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值