菜单
个人主页
(当前)
写文章
浏览博文
    
搜索
登录
微信公众号
站点链接
半根蓝白个人主页
CSDN
Github
友情链接
摘繁华个人博客
博文目录
#custom-toc-container
测验8: 程序设计方法学 (第8周)
BGLB0324
2020年7月18日 17:23
最后发布:2020年7月18日 17:23
首发:2020年7月18日 17:23
663
0
博文分类:
Python
博文标签:
测验
版权声明:本文为博主[BGLB0324]原创文章,遵循
CC 4.0 BY
版权协议,转载请附上原文出处链接和本声明。
本文链接:
http://blog.bglb.work/blog/blog-detail/22
版权
# 测验8: 程序设计方法学 (第8周) ## 单项选择题 ### 1、关于计算思维,以下选项描述正确的是: A、计算思维是逻辑思维的演进 B、计算思维关于设计和构造,可以脱离计算机而存在 C、计算思维是基于计算机的思维模式 D、计算思维从古至今一直存在 **正确答案 C** 计算思维是基于计算机的思维模式,计算机出现之前,由于没有快速计算装置,计算所反映的思维模式主要是数学思维,即通过公式来求解问题。当快速计算装置出现后,计算思维才真正形成。 ### 2、关于用户体验,以下选项描述正确的是: A、编程只是手段,程序最终为人类服务,用户体验很重要 B、用户体验不重要,只要有程序功能即可 C、用户体验是客观的,完全可以靠技术来实现 D、好产品不一定有好的用户体验,关键在于功能创意 **正确答案 A** 一个提醒进度的进度条、一个永不抛出异常的程序、一个快速的响应、一个漂亮的图标、一个合适尺寸的界面等都是用户体验的组成部分。总的来说,用户体验是一切能够提升程序用户感受的组成。 ### 3、以下选项对计算思维本质描述正确的是: A、抽象和执行 B、计算和思维 C、 D、抽象和自动化 **正确答案 D** 计算思维的本质是:抽象和自动化。 抽象一个运算过程,以能够按步骤描述为目标;并利用计算机运算的高速特性自动化执行。 ### 4、以下选项关于计算生态描述错误的是: A、计算生态主要以开源项目为组织形式 B、计算生态类似自然生态,不受单一组织或人物的控制,形成了技术演化路径 C、计算生态存在竞争发展、相互依存和迅速更迭的特点 D、高质量计算生态需要顶层设计的参与才能保障 **正确答案 D** 计算生态以竞争发展、相互依存和迅速更迭为特点,在开源项目间不存在顶层设计,以类自然界"适者生存"的方式形成技术演进路径。 ### 5、关于Python第三方库安装方法,以下选项描述错误的是: A、使用集成安装工具 B、使用pip命令 C、访问UCI网站下载安装文件 D、联系第三方库作者索要安装文件 **正确答案 D** 请不要联系作者索要第三方库,这不是获取第三方库的合理模式。 ### 6、关于os库,以下选项中可以启动进程执行程序的函数是: A、os.start() B、os.system() C、os.run() D、os.process() **正确答案 B** 除了os.system(),选项其他函数都不存在。 ### 7、关于Python的os库,以下选项描述正确的是: A、os库仅适用于Windows平台 B、os库是一个第三方库,需要安装后使用 C、os库提供了几十个函数,功能比较有限 D、os库提供了路径操作、进程管理等若干类功能 **正确答案 D** os库是Python重要的标准库之一,提供了几百个函数功能,覆盖与操作系统、文件操作等相关的众多功能。os库适合所有操作系统。 ### 8、关于os.path子库,以下选项中用来计算相对路径的函数是: A、os.path.relpath(path) B、os.path.abspath(path) C、os.path.normpath(path) D、os.path.basename(path) **正确答案 A** 顾名思义:os.path.relpath(path) 是 relative path处理函数。 ### 9、自顶向下设计主要由下列哪个语法元素实现? A、过程 B、循环结构 C、对象 D、函数 **正确答案 D** 函数是自顶向下设计的关键元素,通过定义函数及其参数逐层开展程序设计。 ### 10、关于软件产品和程序的区别,以下描述正确的是: A、软件程序就是软件产品 B、软件产品=程序功能+速度优化 C、从程序功能到软件产品的产品化代价很小 D、软件产品=程序功能+用户体验 **正确答案 D** 产品不仅需要功能,更需要更好的用户体验。往往,产品都需要综合考虑技术功能和人文设计,这源于产品的商业特性。即,商业竞争要求产品不能只关心技术功能,更要关心用户易用和喜好需求。 ### 英文字符的鲁棒输入 获得用户的任何可能输入,将其中的英文字符进行打印输出,程序不出现错误。 输入输出示例 输入 输出 示例 1 *&^123abc0e abce 【我的答案】 ```python s = input() for c in s: c = str(c) if 'z'>=c>='a' or 'Z'>=c>="A": print(c, end="") ``` 【参考答案】 ```python alpha = [] for i in range(26): alpha.append(chr(ord('a') + i)) alpha.append(chr(ord('A') + i)) s = input() for c in s: if c in alpha: print(c, end="") # 注意:这里采用遍历字符的方式实现,通过约束字母表达到鲁棒效果。 ``` ### 数字的鲁棒输入 获得用户输入的一个数字,可能是浮点数或复数,如果是整数仅接收十进制形式,且只能是数字。对输入数字进行平方运算,输出结果。 要求: (1)无论用户输入何种内容,程序无错误; (2)如果输入有误,请输出"输入有误"。 输入输出示例 输入 输出 示例 1 1+2j (-3+4j) 示例2 abd 输入有误 【我的答案】 ```python s = input() try: if complex(s) == complex(eval(s)): print(pow(eval(s),2)) except: print("输入有误") ``` 【参考代码】 ```python s = input() try: if complex(s) == complex(eval(s)): print(eval(s)**2) except: print("输入有误") # complex()和complex(eval())之间的比较将能够排除非数字类型的输入。 # 注意:不能直接使用eval(),否则,用户可以通过输入表达式(如100**2)输入数字,与要求不同(在实际应用中带来安全隐患)。 ```
点赞
0
打赏
暂时没有评论
请
登录
后评论
暂时没有评论