美文网首页程序员
【第四章】python基本语法练习题

【第四章】python基本语法练习题

作者: 你好夜故事 | 来源:发表于2018-08-01 10:31 被阅读5次

    下面是一些python的基本语法入门题,大家可以一起学习下,如果可以,使用编辑器自己动手敲一遍更好

    1、计算十进制整数 45678 和十六进制整数 0x12fd2 之和

    def fun1():
      num1 =45678
      num2 =0x12fd2
      print("num1+num2=",(num1+num2))
    

    2、请用字符串表示出Learn Python in imooc

    def fun2():
      print("Learn Python in imooc")
    

    3、请计算以下表达式的布尔值(注意==表示判断是否相等):
    100 < 99
    0xff == 255

    def fun3():
      print("100 < 99 :",100 <99)
      print("0xff == 255 :",0xff ==255)
    

    4、等差数列可以定义为每一项与它的前一项的差等于一个常数,可以用变量 x1 表示等差数列的第一项,用 d 表示公差,请计算数列
    1 4 7 10 13 16 19 ...
    前 100 项的和。

    def fun4():
      x1 =1
      n =100
      d =3
      x100 = x1
    

    5、请将下面两行内容用Python的字符串表示并打印出来:
    Python was started in 1989 by "Guido".
    Python is free and easy to learn.

    def fun5():
      s ="Python was started in 1989 by \"Guido\"."+"\nPython is free and easy to learn."
      print(s)
    

    6、请把下面的字符串用r'''...'''的形式改写,并用print打印出来:
    '"To be, or not to be": that is the question.\nWhether it's nobler in the mind to suffer.'

    def fun6():
      print(r'''"To be, or not to be": that is the question.Whether it's nobler in the mind to suffer.''')
    

    7、用多行Unicode字符串表示下面的唐诗并打印:
    静夜思
    床前明月光,
    疑是地上霜。
    举头望明月,
    低头思故乡。

    def fun7():
      print("静夜思\n床前明月光,\n疑是地上霜。\n举头望明月,\n低头思故乡。")
    

    8、请计算 2.5 + 10 / 4 ,并解释计算结果为什么不是期望的 5.0 ?
    请修复上述运算,使得计算结果是 5.0

    def fun8():
      print(2.5 +10.0 /4)
    

    9、假设班里有3名同学:Adam,Lisa和Bart,他们的成绩分别是 95.5,85 和 59,请按照 名字, 分数, 名字, 分数... 的顺序按照分数从高到低用一个list表示,然后打印出来。

    def fun9():
      l = ['Adam',95.5,'Lisa',85,'Bart',59]
      print(l)
      print(l[0])
      print(l[6])
    

    10、三名同学的成绩可以用一个list表示:
    L = [95.5, 85, 59]
    请按照倒序索引分别打印出倒数第一、倒数第二、倒数第三。

    def fun10():
      L = [95.5, 85, 59]
      print(L[-1]);
    

    11、假设新来一名学生Paul,Paul 同学的成绩比Bart好,但是比Lisa差,他应该排到第三名的位置,请用代码实现。

    def fun11():
      L = ["Adam", "Lisa", "Bart"]
      L.insert(2,"Peter");
      print(L)
    

    12、班里的同学按照分数排名是这样的:
    L = ['Adam', 'Lisa', 'Bart']
    但是,在一次考试后,Bart同学意外取得第一,而Adam同学考了倒数第一。
    请通过对list的索引赋值,生成新的排名。

    def fun12():
      L = ['Adam', 'Lisa', 'Bart']
      L[0] ='Bart';
      L[-1] ='Adam'
      print(L)
    

    13、创建一个tuple,顺序包含0 - 9这10个数。

    def fun13():
      tuple = ("0","1","2","3","4","5","6","7","8","9")
      tuple[0] ="1" #不支持分配/改动
      print(tuple)
    

    14、请指出右边编辑器中代码为什么没有创建出包含一个学生的 tuple:
    t = ('Adam')
    print t
    请修改代码,确保 t 是一个tuple。

    def fun14():
      t = ("Adam",)
      print(t)
      print(t[0])
    

    15、定义了tuple:
    t = ('a', 'b', ['A', 'B'])
    由于 t 包含一个list元素,导致tuple的内容是可变的。能否修改上述代码,让tuple内容不可变?

    def fun15():
      t = ('a', 'b', ('A', 'B'))
      print(t)
    

    16、如果成绩达到60分或以上,视为passed。
    假设Bart同学的分数是75,请用if语句判断是否能打印出 passed:

    def fun16():
      score =75
      if(score>=60):
        print("passed")
      else:
        print("no pass")
        print("no")
    

    17、班里考试后,老师要统计平均成绩,已知4位同学的成绩用list表示如下:
    L = [75, 92, 59, 68]
    请利用for循环计算出平均成绩。

    def fun17():
      sum =0.00;
      count =0;
      L = [75, 92, 59, 68]
      for scorein L:
        sum+=score;
        count+=1;
      print(sum/count)
    

    18、利用while循环计算100以内奇数的和。

    def fun18():
    num =0;
    sum =0;
    while num<=100:
      if(num%2!=0):
        sum+=num
        num+=1;
    print("sum=",sum)
    

    19、利用 while True 无限循环配合 break 语句,计算 1 + 2 + 4 + 8 + 16 + ... 的前20项的和

    def fun19():
      index =1
      sum = 0
      while True:
        sum+=index
        index+=1
        if(index==21):
        break;
      print(sum)
    

    20、对已有的计算 0 - 100 的while循环进行改造,通过增加 continue 语句,使得只计算奇数的和:

    def fun20():
      sum =0
      x =0
      while True:
        x = x +1
        if x >100:
          break
        if x%2==0:
          print(x,"是偶数")
          continue
        sum+=x
      print(sum)
    

    21、对100以内的两位数,请使用一个两重循环打印出所有十位数数字比个位数数字小的数,例如,23(2 < 3)。

    def fun21():
        x1 = [1,2,3,4,5,6,7,8,9] #个位
        x2 = [1,2,3,4,5,6,7,8,9] #十位
        for x in x1:
            for y in x2:
                if(y<x):
                    print(y*10+x)
    

    22、新来的Paul同学成绩是 75 分,请编写一个dict,把Paul同学的成绩也加进去。
    d = {
    'Adam': 95,
    'Lisa': 85,
    'Bart': 59
    }

    def fun22():
      d= {
        'Adam':95,
        'Lisa':85,
        'Bart':59,
        "Paul":75
      }
      print(d)
    

    23、打印

    def fun23():
      d = {
        'Adam':95,
        'Lisa':85,
        'Bart':59
      }
      print(d.get("Adam"))
      d["Adam"] ="100";
      print(d.get("Adam"))
      for keyin d:
        print("[]得出:",key,":",d[key])
        print("get得出:",key,":",d.get(key))
    

    24、请用set表示班里的4位同学:
    Adam, Lisa, Bart, Paul

    def fun24():
      x =set(["Adam","Lisa", "Bart","Paul","Adam"])
      print(x)
      print("adam" in x)
      if "Adamxx" in x:
        print("Adam is in")
      elif "Liasa" in x:
        print("Lisa is in")
      else:
        print("no one");
    

    25、请用 for 循环遍历如下的set,打印出 name: score 来。
    s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])

    def fun25():
      s =set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])
      for listin s:
        print(list[0]+":",+list[1])
    

    26、针对下面的set,给定一个list,对list中的每一个元素,如果在set中,就将其删除,如果不在set中,就添加进去。
    s = set(['Adam', 'Lisa', 'Paul'])
    L = ['Adam', 'Lisa', 'Bart', 'Paul']

    def fun26():
      s =set(['Adam', 'Lisa', 'Paul'])
      L = ['Adam', 'Lisa', 'Bart', 'Paul']
      for valuein L:
        if valuein s:
          s.remove(value)
        else:
          s.add(value)
      print(s)
    

    27、请定义一个 square_of_sum 函数,它接受一个list,返回list中每个元素平方的和。

    def fun27(list):
      for valuein list:
        print(value)
    

    28、请定义一个 greet() 函数,它包含一个默认参数,如果没有传入,打印 'Hello, world.',如果传入,打印 'Hello, xxx.'

    def fun28(a ="world"):
      print("hello ",a)
    

    29、请编写接受可变参数的 average() 函数。

    def fun29(*args):
      sum =0;
      if len(args)==0:
        print(sum)
      else:
        for numin args:
          sum+=num
      print(sum)
    

    30、range()函数可以创建一个数列:
    range(1, 101)
    [1, 2, 3, ..., 100]
    请利用切片,取出:

    1. 前10个数;
    2. 3的倍数;
    3. 不大于50的5的倍数。
    def fun30():
      print(L[:10])
      print(L[2::3])
      print(L[4:50:5])
      for sin L[:10]:
        print(s)
    

    31、给定一个dict:
    d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59, 'Paul': 74 }
    请计算所有同学的平均分。

    def fun31():
      d = {'Adam':95, 'Lisa':85, 'Bart':59, 'Paul':74 }
      sum =0.0
        for valuein d:
          sum+=d.get(value)
      print(sum/len(d))
    

    32、请根据dict:
    d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59, 'Paul': 74 }
    打印出 name : score,最后再打印出平均分 average : score。

    def fun32():
      d = {'Adam':95, 'Lisa':85, 'Bart':59, 'Paul':74 }
      sum =0.00;
      for key,valin d.items():
        print(key,val)
        sum+=val
      print(sum/len(d))
    

    相关文章

      网友评论

        本文标题:【第四章】python基本语法练习题

        本文链接:https://www.haomeiwen.com/subject/foskvftx.html