python第六章习题答案

6.1

import random
s = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789"
L=list(s)
T=0
print("生成的密码是:")
while T<10:
    pwd = ""
    for i in range(8):
        pwd += L[random.randint(0,len(L)-1)]
    print("{}".format(pwd))
    T=T+1
print("END")

6.2

def Test(ls):
    tem = set(ls)
    if len(tem) == len(ls):
        print('False')
    else:
        print('True')
def getTest():
    lis = []
    ch = input("请输入判定元素,回车表示结束:")
    while ch != '':
        lis.append(ch)
        ch = input("请输入判定元素,回车表示结束:")
    Test(lis)
getTest()

6.4

str = input("请输入要分析的字符串,回车表示结束:")
while str != '':
    counts = {}
    for ch in str:
        counts[ch] = counts.get(ch,0) + 1
    items = list(counts.items())
    items.sort(key= lambda x : x[1],reverse= True)
    for i in range(len(items)):
        word, count = items[i]
        print("{0:<10}{1:>5}".format(word, count))
    str = input("请输入要分析的字符串,回车表示结束:")


`6.5

import random
times = 1000*1000
count = 0
for i in range(times):
    lis = []
    for j in range(23):
        lis.append(random.randint(1,365))
    items = set(lis)
    if len(items) != len(lis):
        count += 1
print("至少两人生日相同的概率:{:.2f}%".format(count/times*100))


  • 11
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值