Python 单词字母顺序不变且全部倒排

翻出google测试工程师的一道题目:

设计一个函数,任何语言都可以,实现以下功能:

一个句子,将句子中的单词全部倒排过来,但单词的字母顺序不变。eg.  this is a real world输出结果为:world real a is this

笔者用Python实现如下:

#! /usr/bin/env python

# -* -coding:utf-8-*-

def str_reverse(str):

str_dst =str.split()[A1]

str_dst.reverse()[A2]

returnstr_dst

if __name__ == ‘__main__’:

forstr_out in str_reverse(raw_input(‘plz input ur sentence:’)):

printstr_out,

Python is Python!


[A1]以空格为分隔符,将单词取出放入list中。

关于split():

string.split(s[, sep[, maxsplit]])

Return a list of the words of thestring s. If the optional second argument sep is absent or None, the words areseparated by arbitrary strings of whitespace characters (space, tab, newline,return, formfeed). If the second argument sep is present and not None,
itspecifies a string to be used as the word separator. The returned list willthen have one more item than the number of non-overlapping occurrences of theseparator in the string. If maxsplit is given, at most maxsplit number ofsplits occur, and the remainder
of the string is returned as the final elementof the list (thus, the list will have at most maxsplit+1 elements). If maxsplitis not specified or -1, then there is no limit on the number of splits (allpossible splits are made).

The behavior of split on an emptystring depends on the value of sep. If sep is not specified, or specified asNone, the result will be an empty list. If sep is specified as any string, theresult will be a list containing one element which is an empty string

[A2]反转list

关于reverse():

s.reverse() reverses the items of s inplace

The reverse() methods modify the listin place for economy of space when reversing a large list. To remind you thatthey operate by side effect, they don’t return the reversed list.

Python 单词字母顺序不变且全部倒排,布布扣,bubuko.com

时间: 2024-10-10 13:33:19

Python 单词字母顺序不变且全部倒排的相关文章

OJ_单词倒排

题目描述:对字符串中的所有单词进行倒排. 说明: 1.每个单词是以26个大写或小写英文字母构成,可以用一个"-"中连接线连接单词两部分表示一个单词,但是仅限一个"-",出现两个"--"则为非构成单词的字符: 2.非构成单词的字符均视为单词间隔符: 3.要求倒排后的单词间隔符以一个空格表示:如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符: 4.每个单词最长20个字母: 5.输出字符串,否则输出-1. 样例输入: i*&

35:字符串单词倒排 ReverseWords

题目描述:对字符串中的所有单词进行倒排. 说明: 1.每个单词是以26个大写或小写英文字母构成: 2.非构成单词的字符均视为单词间隔符: 3.要求倒排后的单词间隔符以一个空格表示:如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符: 4.每个单词最长20个字母: 输入描述:输入一行以空格来分隔的句子 输出描述:输出句子的逆序 输入例子:I am a student 输出例子:student a am I 注意: 非构成单词的字符均视为单词间隔符-->split("

华为OJ——单词倒排

题目描述 对字符串中的所有单词进行倒排. 说明: 1.每个单词是以26个大写或小写英文字母构成: 2.非构成单词的字符均视为单词间隔符: 3.要求倒排后的单词间隔符以一个空格表示:如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符: 4.每个单词最长20个字母: 输入描述: 输入一行以空格来分隔的句子 输出描述: 输出句子的逆序 输入例子: I am a student 输出例子: student a am I 方法一: import java.util.*; publ

将字符串中的每个单词顺序进行颠倒,单词还是原来的单词,字母顺序不发生变化

/*测试数据:Shen zhen is a beautiful city!*/ /*运行结果:city! beautiful a is zhen Shen*/ #include<stdio.h> #define SIZE 1000 void reverse(char *low,char *high)/*接受两个指针,将指针中间的内容倒置*/ { while (low < high){ *low = *low^*high; *high = *low^*high; *low = *low^*

华为机试—倒置英文句子中单词的字母顺序

输入一个英文句子,包含字母大小写.逗号.句号和空格.把英文句子中的单词的字母顺序倒置. #include <iostream>   using namespace std;          void revese(char* start,char* end)   {     while(start<end)       {           *start=*start^*end;         *end=*start^*end;           *start=*start^*e

输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点 符号和普通字母一样处理

题目: 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变.为简单起见,标点符号和普通字母一样处理 解答: 1 public class Solution { 2 public static void main(String[] args) { 3 String string = "I am a student."; 4 reverseSentence(string); 5 } 6 7 private static void reverseSentence(String s

Openjudge-计算概论(A)-单词倒排

描述: 编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔. 输入输入为一个字符串(字符串长度至多为100).输出输出为按要求排续后的字符串. 样例输入 I am a student 样例输出 student a am I思路:首先把字符串先反转,从前往后扫,遇到空格处理一下单词,要特别注意:最后一个单词不同于其他单词,要单独处理!代码如下(本代码来自我的老师:http://www.cnblogs.com/huashanqingzhu

28:单词倒排

28:单词倒排 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔. 输入 输入为一个字符串(字符串长度至多为100). 输出 输出为按要求排序后的字符串. 样例输入 I am a student 样例输出 student a am I #include<iostream> #include<cstring> #include<

单词倒排

总时间限制:  1000ms 内存限制:  65536kB 描述 编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔. 输入 输入为一个字符串(字符串长度至多为100). 输出 输出为按要求排序后的字符串. 样例输入 I am a student 样例输出 student a am I 代碼實現: 1 #include<iostream> 2 using namespace std; 3 int n; 4 char word[100