python编程之两个文件,英文原题,抓狂中,求好心人帮助解答

Makeafunctionoutofaprogrammingthattakesastringasaparameterandreturnsitsacronym.Thenwr... Make a function out of a programming that takes a string as a parameter and returns its acronym. Then write a program that asks the user to input two file names. It then opens the first file and for the string on each of its lines makes an acronym using the function, and writes the acronyms in the second file, one per line. 展开
 我来答
assinass
2011-10-06 · TA获得超过194个赞
知道答主
回答量:88
采纳率:0%
帮助的人:102万
展开全部
这道题的关键是acronym这个单词,在这里意思是首字母缩写,比如常见的most valuable player的acronym就是MVP,还有VIP等等

然后题目的意思就是让用户输入两个文件的名字,然后用一个函数把第一个文件中的词组变成首字母缩写的形式再写入到第二个文件中,那我们要完成的主要就是那个函数.

那我们就把它命名为acronym好了,参数是一个string(字符串),返回值为它的acronym(首字母缩写)

下面是我的代码

print "Please input the filename to read"

f2read=raw_input()

print "Please input the filename to write"

f2write=raw_input()

f1=file(f2read,'r')
f2=file(f2write,'w')

def acronym(string):
s=''
p=string.split(' ')
for word in p:
s+=(word[0].upper()) #一般的首字母缩写都是大写的,所以用upper()这个函数
return s

lines=f1.readlines()
for line in lines:
f2.write(acronym(line))
f2.write('\n')

f2.close()
f1.close()

我测试后通过了。
若有疑问随时找我,蟒蛇小组祝您编程愉快!
追问
可能因为我用的是python3.2GUI. 运行的话出现错误global name 'file' is not defined,并且,我还删了s=''这一行,不然这里也就出来错误了。请给予分析,谢谢谢谢呀~~~
追答
这样哦,我用的是2.x即2.7的,2.x和3.x语法有些不一样。
你试试把所有的file改成open。
s=''的意思是初始化一个字符串变量叫s
不行的话你试试s=""
因为我一直用2.x,你如果仍然通不过的话,就在2.x的环境下运行吧!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式