2012年04月25日 星期三 10:48
实现的功能如下:提示用户输入一个句子(英文,并且按enter键结尾),该程序将句子中的字母按ASCII码编码顺序重新排列,排列后的单词的长度要与原始句子中的长度相同,例如:输入: who is your daddy输出: add dh ioor suwyy
这是我的实现#!/usr/bin/python
#-*-coding:utf8-*- raw_str = raw_input("please input a string\n") j = 0 char_list,int_list,last_char = [],[],[] for i in raw_str: if i == ' ': int_list.append(j) j = 0 else: char_list.append(i) j+=1 int_list.append(j) char_list.sort() for i in int_list: for j in range(0,i): last_char.append(char_list.pop(0)) last_char.append(' ') print ''.join(last_char)
但是觉得太臃肿了,求简洁解决方式
2012年05月04日 星期五 00:15
这个程序有啥具体的用途?
2012年05月04日 星期五 09:21
就是一个小练习,已经找到最佳答案了:
raw_str = raw_input ( "please input a string\n" ) tmp_str = filter(lambda c:not c.isspace() ,sorted(raw_str,reverse=True)) new_str = ''.join( chr if chr.isspace() else tmp_str.pop() for chr in raw_str ) print new_str
Zeuux © 2024
京ICP备05028076号