《Python编程:从入门到实践》 第5章习题
#5-1 条件测试:编写一系列条件测试;将每个测试以及你对其结果的预测和实际结果 #都打印出来。你编写的代码应类似于下面这样: car = 'subaru' print("Is car == 'subaru'? I predict True.") print(car == 'subaru') print("\nIs car == 'audi'? I predict False.") print(car == 'audi' + "\n") #5-2 更多的条件测试:你并非只能创建10个测试。如果你想尝试做更多的比较,可再编写 #一些测试,并将它们加入到conditional_tests.py中。对于下面列出的各种测试,至少编写 #一个结果为True和False的测试。 #略 #5-3 外星人颜色#1:假设在游戏中刚射杀了一个外星人,请创建一个名为alien_color #的变量,并将其设置为'green'、'yellow'或'red'。 alien_color = 'green' if alien_color == 'green': score = 5 if alien_color == 'red': score = 10 print('你击毁了外星人飞船,获得了 ' + str(score) + '分!') #5-4 外星人颜色#2:像练习5-3那样设置外星人的颜色,并编写一个if-else结构。 alien_color = 'green' if alien_color == 'green': score = 5 else: score = 10 print('你击毁了外星人飞船,获得了 ' + str(score) + '分!') #5-5 外星人颜色#3:将练习5-4中的if-else结构改为if-elif-else结构。 #alien_color = 'green' alien_color = 'yellow' #alien_color = 'red' if alien_color == 'green': score = 5 elif alien_color == 'yellow': score = 10 elif alien_color == 'red': score = 15 else: print('未知') print('你击毁了外星人飞船,获得了 ' + str(score) + '分!') #5-6人生的不同阶段:设置变量age的值,再编写一个if-elif-else结构,根据age #的值判断处于人生的哪个阶段。 age = 5 if age < 2: message = '婴儿' elif age < 4: message = '正在学步' elif age < 13: message = '儿童' elif age < 20: message = '青年' elif age < 65: message = '成年' else: message = '老年' print("他现在是" + message + "了。") #5-7 喜欢的水果:创建一个列表,其中包含你喜欢的水果,再编写一系列独立的if语 #句,检查列表中是否包含特定的水果。 favorite_fruits = ['apple','litchi','watermelon'] watermelon = 'watermelon' if 'bananas' in favorite_fruits: print("You really like bananas!") if 'orange' in favorite_fruits: print("You really like orange!") if 'pear' in favorite_fruits: print("You really like pear!") if 'apple' in favorite_fruits: print("You really like apple!") if 'watermelon' in favorite_fruits: print("You really like watermelon!") #5-8 以特殊方式跟管理员打招呼:创建一个至少包含5个用户名的列表,且其中一个用 #户名为'admin'。想象你要编写代码,在每位用户登录网站后都打印一条问候消息。遍 #历用户名列表,并向每位用户打印一条问候消息。 names = ['zi52','wwwww','zzia','admin','ookkl'] for name in names: if name =='admin': print("您好," + name.title() + ",您想查看今天的数据吗?") else: print("您好," + name.title() + ",欢迎登陆!") #5-9 处理没有用户的情形:在为完成练习5-8编写的程序中,添加一条if语句,检查用 #户名列表是否为空。 names = [] if names : for name in names: if name =='admin': print("您好," + name.title() + ",您想查看今天的数据吗?") else: print("您好," + name.title() + ",欢迎登陆!") else: print("我们需要一些用户") #5-10 检查用户名:按下面的说明编写一个程序,模拟网站确保每位用户的用户名都独一无 #二的方式。 current_users = ['Zi52','wwwww','Zzia','admin','ookkl'] new_users = ['jjjll','zi52','kkkij','zzia','oooxxx'] for new in new_users: if new.lower() in [current_user.lower() for current_user in current_users]: print(new + "此用户名已经被占用,请重新输入!") else: print(new + "此用户名可以使用。") #5-11 序数:序数表示位置,如1st和2nd。大多数序数都以th结尾,只有1、2和3例外。 #在一个列表中存储数字1~9。 num = list(range(1,10)) for nu in num: if nu == 1: print(str(nu) + 'st') elif nu == 2: print(str(nu) + 'nt') elif nu == 3: print(str(nu) + 'rt') else: print(str(nu) + 'tt')

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java编程思想之通过异常处理错误
异常分为被检查的异常和运行时异常,被检查的异常在编译时被强制要求检查。异常被用来错误报告和错误恢复,但很大一部分都是用作错误报告的。 异常情形是由于当前环境下无法得到必要的信息导致当前方法或作用域无法继续执行。当抛出异常时,首先在堆上创建了异常对象,其次当前的执行路径中止并在当前环境中弹出对异常对象的引用,此时异常处理机制接管程序,并开始寻找一个恰当的地方来继续执行程序。 异常最重要的方面之一是如果发生了问题,将不允许程序沿着其正常路径继续走下去。 所有标准异常类有两个构造器,一个是默认构造器,一个是接受相关信息字符串在为参数的构造器。异常类型的根类是Throwable类,错误信息可以保存在异常对象的内部或用异常类的名称来暗示。 异常处理程序紧跟在try块之后,以关键字catch表示。每个catch字句是只接受一个特殊类型的参数的方法。异常处理理论有两种模型:终止模型和恢复模型。 自定义异常来表示程序中可能碰到的特定问题,通过继承已有的异常类。System.err是标准错误流,不会重定向,而System.out可能会重定向。异常类调用了了在Throwable类声明的printStack...
- 下一篇
Node.js缓存
Node.js Buffer(缓冲区) JavaScript 语言自身只有字符串数据类型,没有二进制数据类型。 但在处理像TCP流或文件流时,必须使用到二进制数据。因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区。 在 Node.js 中,Buffer 类是随 Node 内核一起发布的核心库。Buffer 库为 Node.js 带来了一种存储原始数据的方法,可以让 Node.js 处理二进制数据,每当需要在 Node.js 中处理I/O操作中移动的数据时,就有可能使用 Buffer 库。原始数据存储在 Buffer 类的实例中。一个 Buffer 类似于一个整数数组,但它对应于 V8 堆内存之外的一块原始内存。 Buffer 与字符编码 Buffer 实例一般用于表示编码字符的序列,比如 UTF-8 、 UCS2 、 Base64 、或十六进制编码的数据。 通过使用显式的字符编码,就可以在 Buffer 实例与普通的 JavaScript 字符串之间进行相互转换。 const buf = Buffer.from('runoob', '...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS关闭SELinux安全模块
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7设置SWAP分区,小内存服务器的救世主
- Hadoop3单机部署,实现最简伪集群
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Linux系统CentOS6、CentOS7手动修改IP地址
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题