[英]How to reverse individual words in a string without reversing the whole string?
[英]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.