《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')
相关文章
|
2天前
|
JSON 数据格式 开发者
pip和requests在Python编程中各自扮演着不同的角色
`pip`是Python的包管理器,用于安装、升级和管理PyPI上的包;`requests`是一个HTTP库,简化了HTTP通信,支持各种HTTP请求类型及数据交互。两者在Python环境中分别负责包管理和网络请求。
13 5
|
4天前
|
Python
在Python中快捷引入缺失包的技巧和实践
在Python中快捷引入缺失包的技巧和实践
10 0
|
4天前
|
人工智能 Python
Python中的反对称矩阵:理论、应用与代码实践
Python中的反对称矩阵:理论、应用与代码实践
22 1
|
4天前
|
存储 Python 容器
Python高级编程
Python集合包括可变的set和不可变的frozenset,用于存储无序、不重复的哈希元素。创建集合可使用{}或set(),如`my_set = {1, 2, 3, 4, 5}`。通过add()添加元素,remove()或discard()删除元素,如`my_set.remove(3)`。
|
4天前
|
机器学习/深度学习 数据采集 数据可视化
利用Python进行历史数据预测:从入门到实践的两个案例分析
利用Python进行历史数据预测:从入门到实践的两个案例分析
18 1
|
5天前
|
测试技术 Python
Python模块化方式编程实践
Python模块化编程提升代码质量,包括:定义专注单一任务的模块;使用`import`导入模块;封装函数和类,明确命名便于重用;避免全局变量降低耦合;使用文档字符串增强可读性;为每个模块写单元测试确保正确性;重用模块作为库;定期维护更新以适应Python新版本。遵循这些实践,可提高代码可读性、重用性和可维护性。
24 2
|
10天前
|
机器学习/深度学习 人工智能 算法
【Python 机器学习专栏】强化学习在游戏 AI 中的实践
【4月更文挑战第30天】强化学习在游戏AI中展现巨大潜力,通过与环境交互和奖励信号学习最优策略。适应性强,能自主探索,挖掘出惊人策略。应用包括策略、动作和竞速游戏,如AlphaGo。Python是实现强化学习的常用工具。尽管面临训练时间长和环境复杂性等挑战,但未来强化学习将与其他技术融合,推动游戏AI发展,创造更智能的游戏体验。
|
10天前
|
机器学习/深度学习 自然语言处理 语音技术
【Python 机器学习专栏】Python 深度学习入门:神经网络基础
【4月更文挑战第30天】本文介绍了Python在深度学习中应用于神经网络的基础知识,包括神经网络概念、基本结构、训练过程,以及Python中的深度学习库TensorFlow和PyTorch。通过示例展示了如何使用Python实现神经网络,并提及优化技巧如正则化和Dropout。最后,概述了神经网络在图像识别、语音识别和自然语言处理等领域的应用,并强调掌握这些知识对深度学习的重要性。随着技术进步,神经网络的应用将持续扩展,期待更多创新。
|
10天前
|
机器学习/深度学习 运维 算法
【Python机器学习专栏】异常检测算法在Python中的实践
【4月更文挑战第30天】本文介绍了异常检测的重要性和在不同领域的应用,如欺诈检测和网络安全。文章概述了四种常见异常检测算法:基于统计、距离、密度和模型的方法。在Python实践中,使用scikit-learn库展示了如何实现这些算法,包括正态分布拟合、K-means聚类、局部异常因子(LOF)和孤立森林(Isolation Forest)。通过计算概率密度、距离、LOF值和数据点的平均路径长度来识别异常值。
|
10天前
|
机器学习/深度学习 数据采集 算法
【Python机器学习专栏】支持向量机(SVM)在Python中的实践
【4月更文挑战第30天】SVM是一种高效的监督学习算法,适用于分类和回归,尤其擅长处理高维和非线性问题。通过寻找最大边际超平面来分隔数据,SVM具有高效性、鲁棒性、灵活性和稀疏性等特点。