【错题集】python基础之初始函数和对象的方法

【记录做错的题目】

多选题:对于下面的函数定义下面的调用语句,错误的有(3.00分)

    def f1(a,b):

      print((a*3 + b*5)/23)

    A:f1(a=3,b,4)

    B:f1(3,b=4)

    C:f1(a=3,4)

    D:f1(3)

    错误答案:B C

    标准答案:C D(C中b的值需要与a保持一致的格式,D中的实参个数不足)

多选难:下面的代码,哪些是执行会报错的(3.00分)

    A:int(33)

    B:int('3.3')

    C:float(3h)

    D:str([1,3])

    错误答案:B C D

    标准答案:B C(B中字符串需要整形和整数才能转为int,C中float需要数字、字符串才能转化)

多选题:定义这样一个函数 - 下面说法正确的是(3.00分)

    def e1():

      print('in e1')

      return False

    A:执行 False and e1() 屏幕会 显示 'in e1'

    B:执行 e1() and False 屏幕会 显示 'in e1'

    C:执行 True or e1() 屏幕会 显示 'in e1'

    D:执行 False or e1() 屏幕会 显示 'in e1'
    错误答案:A B C D

    标准答案:B D (考查程序运行顺序,and第一个是Flase即不运行后面的,or第一个是True即不运行后面的)

判断题:函数的定义 和函数的调用在代码文件中 前后次序并不重要,只要都存在即可  (3.00分)

    正确

    错误  

    错误答案:错误

    标准答案:正确(函数调用前需要逻辑(次序)顺序上先定义)

*判断题:函数的返回值可以是多个对象,中间用逗号隔开  (3.00分)

    正确

    错误  

    错误答案:错误(返回值若用多个‘’,‘’隔开,返回的是元祖类型

    标准答案:正确

*判断题:下面的代码执行完后,变量b 的值仍然为 [1]   (3.00分)

    def t2(para):

      para[0] = 3

    b = [1]

    t2(b)

    正确

    错误  

    错误答案:正确(print(para[0]) = [3] ,并不影响b值,b在该题中仅充当一个实参传值给形参para——错误观点

    标准答案:错误(para[0]和b均指向'[1]',函数中将[1]值修改为[3],所以para[0]和b均指向'[3],地址未变'

判断题:代码 '1111'.isalpha() 返回结果是 True  (3.00分)

    正确

    错误  

    错误答案:正确

    标准答案:错误(isalpha判字母的,isdigit判定数字的)

判断题:字符串的replace方法只能替换第一个找到的子字符串,比如 'hi, jack, you are smart, jack'.replace('jack','mary')  (3.00分)

    正确

    错误  

    错误答案:正确

    标准答案:错误(可以‘,2’设置替换几个值)

编程题:

    现有一个游戏系统的日志文件,记录内容的字符串 的格式 如下所示

    A girl come in, the name is Jack, level 955;

    其中包含的 the name is 后面会跟着人名,随后紧跟一个逗号, 这是固定的格式。

    其它部分可能都是会变化的,比如,可能是下面这些

    A old lady come in, the name is Mary, level 94454

    A pretty boy come in, the name is Patrick, level 194

    请大家实现一个函数,名为getName,如下所示

    def getName(srcStr):
    函数体
    该函数的参数srcStr 是上面所描述的格式字符串(只处理一行),该函数需要将其中的人名获取出来,并返回

    比如 调用 getName('A old lady come in, the name is Mary, level 94454')

    返回结果应该是 'Mary'

    错误答案:

    n = 'A girl come in,the name is Jack,level 955;'
    a = print(n.split(','))
    print(a[1])#报错:'NoneType' object is not subscriptable
    def getName(srcStr):
    srcStr = a[0]
    return srcStr.split(',')[-1]
    getName()
  

    复习后答案:

    def getName(srcStr):

      t = srcStr.split(',')[1].split(' ')

      return print(t[3])

    getName('A girl come in, the name is Jack, level 955;')

    参考答案:

    def getName(srcStr):

      return srcStr.split('the name is ')[1].split(',')[0]

注释:20190109做错题,重复错误的已经红色文字标注

posted @ 2019-01-08 13:38  万骨枯  阅读(765)  评论(0编辑  收藏  举报