设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: crossin
打印 上一主题 下一主题

【每周一坑】3道题

[复制链接]

1

主题

0

好友

45

积分

新手上路

Rank: 1

楼主
发表于 2017-3-7 04:18:20 |显示全部楼层
本帖最后由 huiwenwu 于 2017-3-7 04:24 编辑
manhong2112 发表于 2016-1-16 18:47
這是練習一不知道為甚麼有時候player的分數會動,而且只出現在一開始
Edit: 似乎在一開始有不知名原因讓電腦 ...

对于题目1,只是这样输出的话会得到一个以元组为元素的列表,这个输出结果是不是不方便以写入文件?以下是我的解法,把结果变成字符串,写入文件(其实中间有好几步列组和字符串的转换)。
因为是刚入门,有点冗长,请教更简单的写法哈:

#!/usr/bin/python

text='History is his story.'

result={}

for i in text:
  num=0
  for j in text:
    if i==j:
      num +=1
  result=num
print result

result2=sorted(result.items(),key=lambda x:x[1], reverse=True)  #生成排序的以元组为元素的列表
print result2

result3=[]
for content in result2:
  content='%s:%s\n' % (content[0],content[1])
  result3.append(content)        #把结果转换成以字符串为元素的列表                           

print result3

result4=''.join(result3)          #把结果转换成字符串
print result4

output=file('times.txt','w')
output.write(result4)
output.close()

回复

使用道具 举报

1

主题

0

好友

45

积分

新手上路

Rank: 1

沙发
发表于 2017-3-7 04:25:45 |显示全部楼层
对于题目1,只是这样输出的话会得到一个以元组为元素的列表,这个输出结果是不是不方便以写入文件?以下是我的解法,把结果变成字符串,写入文件(其实中间有好几步列组和字符串的转换)。
因为是刚入门,有点冗长,请教更简单的写法哈:

#!/usr/bin/python

text='History is his story.'

result={}

for i in text:
  num=0
  for j in text:
    if i==j:
      num +=1
  result[i]=num
print result

result2=sorted(result.items(),key=lambda x:x[1], reverse=True)  #生成排序的以元组为元素的列表
print result2

result3=[]
for content in result2:
  content='%s:%s\n' % (content[0],content[1])
  result3.append(content)        #把结果转换成以字符串为元素的列表                           
print result3

result4=''.join(result3)          #把结果转换成字符串
print result4

output=file('times.txt','w')
output.write(result4)
output.close()

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-2 13:13 , Processed in 0.020019 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部