python substr_Python试题及答案

试题分享来啦!!

751d025ea7275e585bc6b7423a7d96d4.png

Python 试题

2020 新思路秋招机试Python 试题 

一、选择题(每题 5 分,共 40 分) 

1.已知语句:a,b,c=12 , 0o12 , 0x12 , 则 print(a,b,c)的输出结果是() 

A.12 10 18 

B.12 12 12 

C.10 8 16 

D.12 18 10

2.已知 a={10 ,2.5 ,‘test’, 3+4j ,True ,5.3 , 2.5},则 print(a)的输出结果是()

A. { 10 , 2.5 , ’test’ , 3+4j , True , 5.3 , 2.5 } 

B. { True , 2.5 , 5.3 , 10 , 3+4j , ‘test’ }

C. 10 2.5 ‘text’ 3+4j True 5.3 2.5 

D. True 2.5 5.3 10 3+4j ‘test’ 

3. print( “姓名:%5s , 年龄:%5d , 成绩:%6.2f ”%(“tom” , 19 , 86.5 ))的输出 结果是() (_表示一个空格) 

A.姓名:tom, 年龄:19,成绩:86.5

B.姓名:tom__,年龄:19___,成绩:86.50_

C.姓名:__tom, 年龄:___19,成绩:86.5

D.姓名:__tom, 年龄:___19,成绩:_86.50 

4. 已知 x,y=10,[10,20,30],则 x is y 和 x in y 的结果分别为() 

A. True  True

B. False False 

C.True False 

D. False True 

5.下列程序段的输出结果是() 

Is = [‘Python’ , ‘C++’ , ‘Java’ ]  for k , v in enumerate( Is , 3 ):    print(k ,v) 

A. Python

    C++  

    Java 

B. 1 Python  

    2 C++ 

    3 Java 

C. Python 1  

    C++ 2  

    Java 3 

D. 3 Python  

    4 C++ 

    5 Java

6. 下列说法中错误的是() 

A.当调用函数时,如果没有为某些形参传递对应的实参,则这些形参会自动使用默认参数值 

B. 在使用关键字参数调用函数时,实参的传递顺序必须与形参列表中形参的顺序一致 

C.当普通实参传递给形参后,如果在函数体中对形参值做修改,则该修改并不会影响实参,  即实参值不会改变 

D.如果实参是列表等对象,那么可在函数体中通过形参修改实参列表中对应元素的值 

7.下列关于拆分参数列表的说法正确的是() A.列表、元组拆分出来的结果作为位置参数,字典拆分出来的结果作为关键字参数 

B. 列表、元组和字典拆分出来的结果都作为关键字参数 

C.列表、元组和字典拆分出来的结果都作为位置参数 

D.列表元组拆分出来的结果作为关键字参数,而字典拆分出来的结果作为位置参数 

8.下列说法中错误的是() 

A.在一个函数中定义的变量就是局部变量 

B.局部变量的作用域是从定义位置到函数结束位置 

C.在所有函数外定义的变量就是全局变量 

D.全局变量的作用域是从定义位置到程序结束位置

二、填空题(每题 5 分,共 20 分) 

1.10/4的结果为(),10//4的结果(),10%4的结果为(),10**4的结果为()。

2. 判断素数的程序,请将程序填写完整 

for n in ________( 2 , 101):    m=int( n**0.5 )    i=2    While_______        if  n%i==0:            ___________        i+=1    if i>m:        print( n,end=’’)

3.水仙花数是 3 位整数(100~999),它的各位数字立方和等于该数本身。下面的程序求水仙 花数,请写出程序运行结果。

for n in range(100,1000):    B=n//100    A=n//10%10    C=n %10    if A**3+B**3+C**3 == n:    Print(n)

4.函数 Sum 的功能是求参数的和并返回,参数个数不限,请将程序填写完整。

def Sum(*args):    s=0    for i in______        s+=i    return_________print(Sum(1,2,3,4,5))

三、程序设计题(共 40 分) 

1、一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第 10  次落地时,共经过多少米?第 10 次反弹多高?(10 分) 

2、设计一个程序,使其能够输出如下格式的九九乘法表(10 分) 

1*1=1 

2*1=2 2*2=4 

3*1=3 3*2=6 3*3=9 

4*1=4 4*2=8 4*3=12 4*4=16 

5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 ...... 

3、对任意给定的一个字符串,请找出其中不含有重复字符的最长子串及其长度(20 分) 

(以下测试数据包括但不限于示例) 

示例 1: 输入: "abcabcbb"  输出: abc 3 解释: 无重复字符的最长子串是 "abc",长度为3

示例 2: 输入: "bbbbb"  输出: b 1 解释: 无重复字符的最长子串是 "b",长度为 1 

示例 3: 输入: "pwwkewd"  输出: kewd 4 解释: 无重复字符的最长子串是 "kewd",长度为 4

751d025ea7275e585bc6b7423a7d96d4.png

Python 试题答案

一、选择题

1、A

2、B 

3、D 

4、D 

5、D 

6、B 

7、A 

8、D 

二、填空题 

1、2.5  2  2  10000

2、range i<=m break 

3、153 

     370 

     371 

     407 

4、 args s 

三、程序设计题

1、

if __name__ == '__main__':    i = 1    x = 100    sum = 0    while i <= 10:        sum += x        x = x/2        sum += x        i += 1    print('一共经过%f米,第10次反弹的高度是%f'%(sum, x))

2.

for i in range(1, 10):    for j in range(1, i+1):        print('{}x{}={}\t'.format(j, i, i*j), end='')    print()

3.

def longest_substr(s):        dic = {}    start,maxlen,substr = 0,0,""    for i,x in enumerate(s):        if x in dic:            start = max(dic[x]+1,start)            dic[x] = i           else:            dic[x] = i        if i-start+1>maxlen:            maxlen = i-start+1            substr = s[start:i+1]    return(substr)x = input('请输入字符串:')print(longest_substr(x),len(longest_substr(x)))

本期内容:

排版:小帖

编辑:Jermery.X

审核:算法组  张玥

1143cd26550fc2a0ce0c227c59d5beac.png