Python_40题详细解析
Python 程序设计基础 40 道选择题解析整理日期:2026-06-23适用:Python 基础语法、数据类型、控制结构、函数、组合数据类型等知识点复习第 1 题题目:设一年 365 天,第 1 天的能力值为基数记为 1.0。当好好学习时能力值相比前一天会提高千分之五。以下选项中,不能获得持续努力 1 年后的能力值的是A.1.005 ** 365B.pow((1.0 + 0.005), 365)C.1.005 // 365D.pow(1.0 + 0.005, 365)参考答案:C解析:每天能力值增长千分之五,即每天变为前一天的1 + 0.005 = 1.005倍。经过 365 天后,能力值应为初始值 1.0 乘以1.005的 365 次方,即1.0 × 1.005³⁶⁵。选项 A:1.005 ** 365是 Python 的幂运算,表示 1.005 的 365 次方,结果正确。选项 B:pow((1.0 + 0.005), 365)使用pow()函数计算 1.005 的 365 次方,结果正确。选项 C:1.005 // 365是**整除(地板除)**运算,结果为0.0,完全不是幂运算,无法获得正确结果。选项 D:pow(1.0 + 0.005, 365)与 B 等价,只是少了内层括号,加法优先级高于函数调用,结果正确。知识点:**幂运算符、pow()函数、//整除运算符的区别。第 2 题题目:下面关于函数的参数描述错误的是A. 定义函数时的参数叫做形参,调用函数时传递的参数叫做实参B. 参数实现了主程序和函数之间数据的传递C. 定义函数时,如果函数无参,则括号可以省略D. 函数的参数可有可无,根据实际需要来决定参考答案:C解析:选项 A:正确。形参(形式参数)是函数定义时括号中的变量名;实参(实际参数)是调用函数时传入的具体值。选项 B:正确。参数是函数与外部进行数据交换的主要途径。选项 C:错误。Python 中定义函数时,即使没有参数,圆括号()和冒号:也绝对不能省略。例如必须写成def func():,省略括号会导致语法错误。选项 D:正确。函数可以没有参数(如def hello():),也可以有多个参数,根据需求设计。知识点:函数定义语法def 函数名(参数列表):,即使无参括号也不可省略。第 3 题题目:关于 Python 程序格式框架的描述,以下选项中错误的是A. Python 语言的缩进可以采用 Tab 键实现B. Python 单层缩进代码属于之前最邻近的一行非缩进代码,多层缩进代码根据缩进关系决定所属范围C. 判断、循环、函数等语法形式能够通过缩进包含一批 Python 代码,进而表达对应的语义D. Python 语言不采用严格的"缩进"来表明程序的格式框架参考答案:D解析:选项 A:正确。Tab 键和空格都可以用于缩进(PEP 8 建议用 4 个空格)。选项 B:正确。缩进采用"就近原则",单层缩进归属于上方最近的无缩进行。选项 C:正确。if、for、while、def等语句通过缩进来包含代码块。选项 D:错误。Python 是强制缩进的语言,缩进不仅是格式要求,更是语法的一部分,用于划分代码块。缩进错误会导致IndentationError。知识点:Python 使用严格的缩进来表示代码层次结构,这是 Python 区别于 C/Java 等使用花括号{}语言的重要特点。第 4 题题目:下面代码的输出结果是sum=1.0fornuminrange(1,4):sum+=numprint(sum)A. 6B. 7.0C. 1.0D. 7参考答案:B解析:逐步分析循环执行过程:循环次数num 值sum 变化初始—sum = 1.0第 1 次1sum = 1.0 + 1 = 2.0第 2 次2sum = 2.0 + 2 = 4.0第 3 次3sum = 4.0 + 3 = 7.0range(1, 4)生成[1, 2, 3](含头不含尾)。由于sum初始值为浮点数1.0,所以最终结果为7.0(浮点型),而非整数7。知识点:range(start, stop)的取值范围是[start, stop);浮点数与整数运算结果为浮点数。第 5 题题目:以下程序的输出结果是d={"zhang":"China","Jone":"America","Natan":"Japan"}print(max(d),min(d))A. Japan AmericaB. zhang:China Jone:AmericaC. China AmericaD. zhang Jone参考答案:D解析:对字典使用max()和min()时,比较的是字典的键(key),而不是值(value)。字典d的键为"zhang"、"Jone"、"Natan"。按字典序比较:max(d)→"zhang"(‘z’ 在字母表中最大)min(d)→"Jone"(‘J’ 最小,注意大写字母 ASCII 码小于小写)print()输出时用空格分隔,所以结果为zhang Jone。知识点:max(dict)和min(dict)默认对字典的键进行比较;大写字母 ASCII 码(65-90)小于小写字母(97-122)。第 6 题题目:以下程序的输出结果是ls=["浣熊","豪猪","艾草松鸡","棉尾兔","叉角羚"]x="豪猪"print(ls.index(x,0))A. 0B. -4C. 1D. -3参考答案:C解析:list.index(value, start)方法返回从start位置开始查找,value在列表中首次出现的索引。列表ls的索引:0: “浣熊”1: “豪猪” ←"豪猪"首次出现在索引 12: “艾草松鸡”3: “棉尾兔”4: “叉角羚”ls.index("豪猪", 0)从索引 0 开始查找,返回 1。知识点:list.index(x, start)返回元素 x 从 start 位置开始的首次出现索引,若不存在则抛出ValueError。第 7 题题目:以下不能创建一个字典的语句是A.dict1 = {}B.dict2 = {3: 5}C.dict3 = {[1, 2, 3]: "uestc"}D.dict4 = {(1, 2, 3): "uestc"}参考答案:C解析:字典的**键(key)必须是可哈希(hashable)**的对象。可哈希对象要求是不可变类型。选项 A:{}创建空字典,合法。选项 B:键为整数3,整数是不可变类型,合法。选项 C:键为列表[1, 2, 3],列表是可变类型(不可哈希),不能作为字典键,会抛出TypeError: unhashable type: 'list'。选项 D:键为元组(1, 2, 3),元组是不可变类型,合法。知识点:字典键必须是不可变类型(如数字、字符串、元组),列表、字典等可变类型不能作为键。第 8 题题目:表达式'y' 'x' == False的结果是A. TrueB. ErrorC. NoneD. False参考答案:D解析:Python 支持链式比较,表达式'y' 'x' == False等价于:('y''x')and