1、python软件编程等级考试(一级)编程实操题02优质一、选择题1运行下列Python程序i=1s=1while : s=s*i i+=2print(s)当输出结果为105时,则处应填入( )Ai=7Bi=7Di72在Python中,input()函数的返回结果的数据类型为( )ANumber型BString型CList型DSets型3小王编写了出租车收费的python程序,代码如下:s1=float(input(请输入行驶路程(公里):)if s1=3: f=10elif s1=nCm or nDm!=n14Python中print(66!=66)结果是( )。A1B0CTrueDFalse
2、15下面不是python特性的是( ):A免费的B简单易学C可移植性好D是低级语言二、程序填空16小明用Python语言写了一个货币兑换程序如下:(1)参数currency指:_。(2)该程序用了哪一种算法结构:_。(3)输出结果为“50= 325.25人民币”。则代码应该如何编写:_。17一家商场在降价促销,如果购买金额不高于200元,会给10%的折扣,如果购买金额高于200元,会给20%的折扣。编写一个Python程序,输入消费额(整数),显示折扣后的应付金额。18蒙特卡洛方法不仅可以用来模拟投针实验,还可以用来模拟求解圆周率T。请根据所学知识,并上网搜索有关资料,找到利用蒙特卡洛方法求解
3、圆周率的原理、方法和Python程序。19(项目情境)水仙花数是指一个三位数,它的每个位上的数字的3次方之和就等于它本身,例如:1*3+5*3+3*3 = 153。这类三位数也被叫做自恋数、自幂数或者阿姆斯特朗数。(问题求解)设这个数存放于变量x中,变量g、s、b分别存放个位、十位、百位上的数。需得分离数字得到每位上的数,即将变量g、s、b表示为x的形式。请阅读如下python程序,在空白处填写适当的表达式或语句,使程序完整。print (三位数之内的水仙花是:)for x in _ : b=x/100 s=_ g=_ if x=(b*3 + s*3 + g*3): _20计算机解决问题的过程
4、为“分析问题设计算法(流程图)编写程序调试程序”,请输入以下代码,自己输入数据运行,结果截图提交21程序编写求1+22+32+1002的结果 _ _ _ _input(“运行完毕,请按回车键退出.”)【参考答案】*试卷处理标记,请不要删除一、选择题1A【详解】本题考查循环语句。在循环体内,s=s*i,i的初值为1,循环内i每次递增2,则s=1*3*5*7=105,最后结果为105,可知条件为while i=7,故本题选A。解析:A【详解】本题考查循环语句。在循环体内,s=s*i,i的初值为1,循环内i每次递增2,则s=1*3*5*7=105,最后结果为105,可知条件为while i=7,故本
5、题选A。2B【详解】本题主要考查Python输入函数。在Python中,input()函数的返回结果的数据类型为字符串String型,故本题选B选项。解析:B【详解】本题主要考查Python输入函数。在Python中,input()函数的返回结果的数据类型为字符串String型,故本题选B选项。3C【详解】本题主要考查Python条件分支结构。分析代码可知,程序采用条件分支结构,第一个条件是s1=3,第二个条件是3s110,故最恰当的一组测试数据是1,6,解析:C【详解】本题主要考查Python条件分支结构。分析代码可知,程序采用条件分支结构,第一个条件是s1=3,第二个条件是3s110,故最
6、恰当的一组测试数据是1,6,20,故本题选C选项。4D【详解】本题考查的是Python的选择嵌套语句。先判断是否小于等于5000,接着在判断是否小于等于7000,最后判断是否小于等于10000。15000不小于等于10000,故执行tax=800解析:D【详解】本题考查的是Python的选择嵌套语句。先判断是否小于等于5000,接着在判断是否小于等于7000,最后判断是否小于等于10000。15000不小于等于10000,故执行tax=800+(salary-1000)*0.4=800+(15000-10000)*0.4=800+2000=2800.0。因为salary接收的是浮点型数据。sa
7、lary-tax=15000-2800.0=12200.0。故选项D正确。5B【详解】本题主要考查Python语句执行。语句X=123+678是整型类型运算,值为801;语句St=123+678是字符串运算,直接拼接,值为123678,故本题选B选项。解析:B【详解】本题主要考查Python语句执行。语句X=123+678是整型类型运算,值为801;语句St=123+678是字符串运算,直接拼接,值为123678,故本题选B选项。6D【详解】本题考查计算机语言相关知识。高级语言是面向用户的、基本上独立于计算机种类和结构的语言。其最大的优点是:形式上接近于算术语言和自然语言,概念上接近于人们通常
8、使用的概念。高级语言的一个命令解析:D【详解】本题考查计算机语言相关知识。高级语言是面向用户的、基本上独立于计算机种类和结构的语言。其最大的优点是:形式上接近于算术语言和自然语言,概念上接近于人们通常使用的概念。高级语言的一个命令可以代替几条,几十条甚至几百条汇编语言的指令。因此,高级语言易学易用,通用性强,应用广泛。高级语言种类繁多,可以从应用特点和对客观系统的描述两个方面对其进一步分类。python,c+ ,visual basic,java都属于高级程序设计语言。故本题选D。7C【详解】本题主要考查Python程序的执行。该程序实现求100以内所有能被3整除的正整数,故第3行的横线应该填
9、i%3=0,故本题选C选项。解析:C【详解】本题主要考查Python程序的执行。该程序实现求100以内所有能被3整除的正整数,故第3行的横线应该填i%3=0,故本题选C选项。8A【详解】本题主要考查Python序列类型。Python的序列类型包括:列表、元组和字典,故本题选A选项。解析:A【详解】本题主要考查Python序列类型。Python的序列类型包括:列表、元组和字典,故本题选A选项。9A【详解】本题主要考查Python程序的执行。input()函数是通过键盘输入,将其以字符类型返回,故S=“6”,输出S*3=“666”,故运算结果是666,故本题选A选项。解析:A【详解】本题主要考查P
10、ython程序的执行。input()函数是通过键盘输入,将其以字符类型返回,故S=“6”,输出S*3=“666”,故运算结果是666,故本题选A选项。10D【详解】本题主要考查Python常用函数。abs(x)是返回x的绝对值,float() 函数用于将整数和字符串转换成浮点数,print()是输出函数,input()是输入函数,故本题选D选项。解析:D【详解】本题主要考查Python常用函数。abs(x)是返回x的绝对值,float() 函数用于将整数和字符串转换成浮点数,print()是输出函数,input()是输入函数,故本题选D选项。11A【详解】本题Python相关知识点IDLE 是
11、 Python 所内置的开发与学习环境,故除了可以通过书中的Jupyter Notebook外,处理数据还可以通过Python IDLE工具实现解析:A【详解】本题Python相关知识点IDLE 是 Python 所内置的开发与学习环境,故除了可以通过书中的Jupyter Notebook外,处理数据还可以通过Python IDLE工具实现。故本题选A选项12D【详解】本题考查的是python语言的特点。Python语言的三个特点是语法简单(函数式语言与面向对象语言的结合)、使用直接(大量丰富的库)、开发周期短(代码量小)。故选项D正确。解析:D【详解】本题考查的是python语言的特点。Py
12、thon语言的三个特点是语法简单(函数式语言与面向对象语言的结合)、使用直接(大量丰富的库)、开发周期短(代码量小)。故选项D正确。13C【详解】本题主要考查python的表达式。or属于逻辑运算符,m or n不是关系表达式。故本题选C选项。解析:C【详解】本题主要考查python的表达式。or属于逻辑运算符,m or n不是关系表达式。故本题选C选项。14D【详解】本题主要考查Python表达式的运算。表达式66!=66的值为False,故print(66!=66)结果是False,故本题选D选项。解析:D【详解】本题主要考查Python表达式的运算。表达式66!=66的值为False,故
13、print(66!=66)结果是False,故本题选D选项。15D【详解】本题主要考查Python的特性。Python特性有:免费的、简单易学、可移植性好、是高级语言,故本题选D选项。解析:D【详解】本题主要考查Python的特性。Python特性有:免费的、简单易学、可移植性好、是高级语言,故本题选D选项。二、程序填空16形参 分支结构(选择结构) if条件中的return语句改为return print(money,$=,money*6.505,人民币),其他elif语句类似 【详解】本题主要考查Python程序执行与调试。分析代码可知,参数currency指:形参。由代码可知,该程序用了
14、条件分支结构。若输出结果是50= 325.25人民币,则需将if条件中的return语句改为return print(money,$=,money*6.505,人民币),其他elif语句类似。17price=int(input(请输入消费额(整数):)if price 200: price=price-price*0.1else: price=price-price*0.2print(折扣后的应付金额是:,price)【详解】本题主要考查Python程序的执行与调试。用键盘通过输入函数input输入消费额,并用int函数将其转换为整数类型,通过if条件分支结构,判断如果购买金额不高于200元,
15、会给10%的折扣,如果购买金额高于200元,会给20%的折扣,最后用print输出函数输出折扣后的应付金额。18原理:通常蒙特卡罗方法通过构造符合一定规则的随机数来解决数学上的各种问题。对于那些由于计算过于复杂而难以得到解析解或者根本没有解析解的问题,蒙特卡罗方法是一种有效的求出数值解的方法。一般蒙特卡罗方法在数学中最常见的应用就是蒙特卡罗积分。方法:蒙特卡罗方法的解题过程可以归结为三个主要步骤:构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。利用蒙特卡洛方法实现求解圆周率#!/usr/bin/Python#-*- coding:utf-8 -*-import randomimpo
16、rt mathdef monteCarlo(N): i = 0 count = 0 while i = N: x = random.random() y = random.random() if pow(x, 2) + pow(y, 2) 1: count += 1 i += 1 pi = 4 * count / N print(pi)monteCarlo(1000000)【详解】本题考查的知识点是Python程序。原理:通常蒙特卡罗方法通过构造符合一定规则的随机数来解决数学上的各种问题。对于那些由于计算过于复杂而难以得到解析解或者根本没有解析解的问题,蒙特卡罗方法是一种有效的求出数值解的方法
17、。一般蒙特卡罗方法在数学中最常见的应用就是蒙特卡罗积分。方法:蒙特卡罗方法的解题过程可以归结为三个主要步骤:构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。利用蒙特卡洛方法实现求解圆周率#!/usr/bin/Python#-*- coding:utf-8 -*-import randomimport mathdef monteCarlo(N): i = 0 count = 0 while i = N: x = random.random() y = random.random() if pow(x, 2) + pow(y, 2) 1: count += 1 i += 1 pi =
18、4 * count / N print(pi)monteCarlo(1000000)19range(100,1000) x/10%10 x%10 print (三位数之内的水仙花是:+str(x) 【详解】本题主要考查Python程序的执行与调试。水仙花数是指一个三位数,即100,999,for x in range(100,1000)表示x的范围是100-999,故此处填range(100,1000)。变量g、s、b分别存放个位、十位、百位上的数,故s=x/10%10(“/”表示整除,“%”表示取余)。g=x%10。如果满足 x=(b*3 + s*3 + g*3),则输出“三位数之内的水仙花
19、是:x”,故此处填print (三位数之内的水仙花是:+str(x)。20【详解】本题主要考查Python程序的执行与调试。运行结果如下:21total=0 #变量可任选(符合规则) for i in range(1,101): total=total+i*i #total=total+i*2 print(total) 【详解】本题主要考查Python程序的编写。变量total用来统计最终的计算结果,其初始值为0,故填total=0 #变量可任选(符合规则)。求1+22+32+1002的结果,用for循环结构,变量i的范围是从1到100,故填for i in range(1,101):。计算语句是total=total+i*i #total=total+i*2。最后用print()函数输出计算结果total,故填print(total)。