今天参加了江苏电信的暑期实习的笔试,笔试的题型为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=1
tem_info={}
while i<=n: #ten_info字典中存储着输入的字符串tem_info[i]=input()i+=1# print(tem_info)
g=1
while g<=n:#将字符串中的每一个单词拆分,组装成列表g_list = []g_str=tem_info[g]g_count=unt(' ')# print(g_count)t=0while t<=g_count:g_list.append(g_str.split()[t])t+=1tem_info[g]=g_listg+=1k=1
while k<=n:#按要求变成想要的列表k_list=tem_info[k]c=0while 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]=temc+=1tem_info[k]=k_listk+=1# print(tem_info)
a=1
while a<=n:#按要求打印a_list=tem_info[a]#取出正确的列表b=0fin_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_strbreakfin_str=fin_str+b_str+' '
'''考试的时候我写成b_str+fin_str了,字符串的‘+’操作是有顺序的'''b+=1print(fin_str)a+=1
本文发布于:2024-01-31 07:53:24,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170665880726877.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |