python核心编程第二版第7章习题答案(2)

2020-04-14 23:23

它把字母表中的每个字母用其后的第13 个字母来代替。字母表中前半部分字母将被映射到后半部分,而后半部分字母将被映射到前半部分,大小写保持不变。举例来说,'a'将被替换为'n','X'将被替换为'K'; 数字和符号不进行翻译。

(b)在你的解决方案的基础上加一个应用程序,让它提示用户输入准备加密的字符串(这个算法同时也可以对加密后的字符串进行解密),如下所示: % rot13.py

Enter string to rot13: This is a short sentence. Your string to en/decrypt was: [Thisis a short sentence.].

The rot13 string is: [Guvf vf n fubeg fragrapr.]. %

% rot13.py

Enter string to rot13: Guvf vf n fubeg fragrapr. Your string to en/decrypt was: [Guvfvf n fubeg fragrapr.].

The rot13 string is: [This is a short sentence.]. 答案:不会+1

7-11.定义。什么组成字典中合法的键?举例说明字典中合法的键和非法的键。 答案:字典中的键必须是可哈希的,像列表和字典这样的可变类型,由于他们不是可哈希的,所以不能作为键。

7-12. 定义。

(a)在数学上,什么是集合?

(b)在 Python 中,关于集合类型的定义是什么? 答案:

(a)数学上,把set称作由不同的元素组成的集合,集合的成员通常被称作集合元素。 (b)Python中,集合对象是一组无序排列的可哈希的值。

7–13. 随机数。

修改练习5-17 的代码:使用random 模块中的randint()或randrange()方法生成一个随机数集合:从0 到9(包括9)中随机选择,生成1 到10 个随机数。这些数字组成集合A(A 可以是可变集合,也可以不是)。同理,按此方法生成集合B。每次新生成集合A 和B 后,显示结果 A | B 和 A & B 答案:

import random

abc = [] xyz = []

for i in range(random.randint(1,10)): abc.append(random.randint(0,9)) A = set(abc)

for i in range(random.randrange(1,10)): xyz.append(random.randrange(0,9))

B = set(xyz)

print A print B print A | B print A & B

7-14. 用户验证。修改前面的练习,要求用户输入A|B和A&B的结果,并告诉用户的答案是否正确,而不是将A|B和A&B的结果直接显示出来。如果用户回答错误,允许他修改解决方案,然后重新验证用户输入的答案。如果用户三次提交的答案均不正确,程序将显示正确结果。附加题:运用你关于集合的知识,创建某个集合的潜在子集,并询问用户此潜在子集是否真是该集合的子集,要求和主程序一样有显示更正和答案的功能。 答案:

import random

abc = [] xyz = []

answer1 = []

for i in range(random.randint(1,10)): abc.append(random.randint(0,9)) A = set(abc)

for i in range(random.randrange(1,10)): xyz.append(random.randrange(0,9)) B = set(xyz)

print A print B

for i in range(0,3): answer = raw_input('A|B = ') for j in answer.split(','): answer1.append(int(j)) C = set(answer1) if C == A | B: print 'You are right!' break elif i == 2: print 'Sorry,The correct answer is',A | B else: print 'Sorry,you are wrong.'

7–15. 编写计算器。

这个练习取材于http://math.hws.edu/ 在线免费Java 教材中的练习12.2。编写一个程序允许用户选择两个集合:A 和B, 及运算操作符。例如,in, not in, &, |, ^, <,<=, >, >=, ==, !=, 等. (你自己定义集合的输入语法,它们并不一定要像Java 示例中那样用方括号括住。)解析输入的字符串,按照用户选择的运算进行操作。你写的程序代码应该比Java 版本的该程序更简洁。 答案:不会

注:本着资源共享原则,也为更好的学习交流,本文来自于网易博客http://fangweiren843.blog.163.com/,经作者同意,首次上传在百度文库里,供大家学习交流。


python核心编程第二版第7章习题答案(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:西南大学《建筑工程招投标与合同管理》网上作业及参考答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: