繁体   English   中英

如何在Python中反转字符串中的单词(而不是反转整个字符串)?

[英]How to reverse the words inside a string in Python (not reversing whole string)?

问题是这样,但是我不能做字符串5反转字符串。 句子将按以下方式加密。

•句子以字符串形式读入,称为string1。

•string2是使用循环创建的。 它是没有空格的string1。

•string3是使用循环创建的。 它包含字符串1中的所有字符,以及每四个字符后的空格。

•string4是使用循环创建的。 每个字符均由字母表中的下一个字符代替,空格由“ *”代替,“ Z”或“ z”由“ A”或“ a”代替

•string5是使用循环或嵌套循环(循环内的循环)创建的。 每四个一组中的字符用“ *”隔开。

例如,如果string1 =“猫坐在垫子上”

string2 = “Thecatsatonthemat”

string3 = “Thec atsa tont hema t”

string4 = “Uifd*butb*upou*ifnb*u”

string5 = “dfiU*btub*uopu*bnfi*u”

我已经做到了,但是字符串5不起作用:

string1=str(input("Enter sentence: "))

string2=""

string3=""

string4=""

string5=""

count=0

for char in string1:

    if char==" ":

        string2=string1.replace(" ","")

    else:

        string2+=char


for char in string2:

    count+=1

    division=count%4

    if division==0:

        string3=string3+char+" "

    elif division!=0:

        string3=string3+char




for char in string3:

    newchar=""

    charnew="*"

    if char==" ":

        string4=string4+charnew

    else:

        newchar=chr(ord(char)+1)

        if newchar=="[":

            newchar="A"

        elif newchar=="{":

            newchar="a"

        string4=string4+newchar


#could not reverse the four letter sections but I reversed the whole string
rev=""        
for char in string4:
    rev=rev+char
    string5=rev[::-1]

print("string 1 = ",string1) 

print("string 2 = ",string2)

print("string 3 = ",string3)

print("string 4 = ",string4)

print("string 5 = ",string5)

这是程序运行时得到的:

Enter sentence: The cat sat on the mat 

u*bnfi*uopu*btub*dfiU

string 1 =  The cat sat on the mat 

string 2 =  Thecatsatonthemat

string 3 =  Thec atsa tont hema t

string 4 =  Uifd*butb*upou*ifnb*u

string 5 =  u*bnfi*uopu*btub*dfiU

拆分并加入:

s = "Hello World"

' '.join(i[::-1] for i in s.split(" "))

输出:

'olleH dlroW'

您需要拆分单词,然后反转它们

s = 'Hello World'
line = [w[::-1] for w in s.split()]

['olleH', 'dlroW']

要将其打印为字符串,请使用print ' '.join(line)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM