2017年江苏电信暑期实习生笔试编程题

来源:互联网 发布:淘宝网十字绣新款 编辑:程序博客网 时间:2024/05/01 17:04

今天参加了江苏电信的暑期实习的笔试,笔试的题型为30道选择题,2道编程题。总体难度不大,考的都是些关于通信和计算机的基础知识。选择题考Linux系统的基本操作,一些C++和java的基本程序(难度和计算机二级差不多),通信网的知识。

对于两道编程题,难度也是不大的。。。。。。。(妈的,第二道编程题没做出来,水平还需要好好加强啊!)

下面我说下编程题:
(1)第一道编程题:
是关于斐波那契数列的,输入一个K值(整数),然后求斐波那契数列中第k个值是多少。
这题我就不写了,比较简单,只要注意k=1,2的情况。

(2)第二道编程题:
先输入一个数,int(n),n表示下面要输入的行数。然后,输入n行字符串。最后请编写程序,输入这些字符串的倒叙。
例:输入:
3
i love you
jj kk, gg
byby jj gg ii
输出:
you love i
gg kk, jj
ii gg jj byby
这题其实也不难的,可是我考试的时候没有做出来,回来我又重新写了一遍,发现当时有个字符串拼接的时候顺序反了。唉。。。。。这也反映出了我自身编程水平不足,不能适应不用编译器的情况,以后我要少用编译器,尽量用记事本之类的不带提示的来写。

下面我来说下,我做这道题的思路:
(1)根据输入的n值,完成input()部分。并将输入的字符串存入字典中。
(2)将存储的字符串用count(’ ‘)函数算出依据空格拆分的字符串的块数,将分隔好的字符串装入列表中,将这个列表再回填到字典中去。
(3)对于每一个列表进行列表内字符串的头尾调换的操作。将调换好的列表重新回填到字典中
(4)进行打印操作(考试的时候问题就出现在这一步,难过,明明懂得。)

下面贴出我写的代码:

#!/user/bin/env python# -*- coding: utf-8 -*-n=int(input().strip())i=1tem_info={}while i<=n: #ten_info字典中存储着输入的字符串    tem_info[i]=input()    i+=1# print(tem_info)g=1while g<=n:#将字符串中的每一个单词拆分,组装成列表    g_list = []    g_str=tem_info[g]    g_count=g_str.count(' ')    # print(g_count)    t=0    while t<=g_count:        g_list.append(g_str.split()[t])        t+=1    tem_info[g]=g_list    g+=1k=1while k<=n:#按要求变成想要的列表    k_list=tem_info[k]    c=0    while c<len(k_list)//2:#对调顺序        tem=k_list[c]        k_list[c]=k_list[len(k_list)-1-c]        k_list[len(k_list) - 1 - c]=tem        c+=1    tem_info[k]=k_list    k+=1# print(tem_info)a=1while a<=n:#按要求打印    a_list=tem_info[a]#取出正确的列表    b=0    fin_str=''    while b<len(a_list):        b_str=a_list[b]        #print(b_str)        if b==len(a_list)-1:            fin_str=fin_str+b_str            break        fin_str=fin_str+b_str+' ' '''考试的时候我写成b_str+fin_str了,字符串的‘+’操作是有顺序的'''        b+=1    print(fin_str)    a+=1
原创粉丝点击