亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

提取后反向打印字符串

提取后反向打印字符串

qq_花開花謝_0 2023-12-12 15:09:10
我正在嘗試創建一個程序,其中用戶輸入包含兩個“!”的語句 圍繞著一根繩子。(例如:大家好!這是一個測試!再見。)我要抓住兩個感嘆號內的字符串,然后逐個字母地反向打印它。 我已經能夠找到包含該語句的起點和終點,但是我在創建一個索引來userstring反向循環并打印我的變量時遇到困難。test = input('Enter a string with two "!" surrounding portion of the string:')expoint = test.find('!')     #print (expoint)twoexpoint = test.find('!', expoint+1)     #print (twoexpoint)userstring = test[expoint+1 : twoexpoint]     #print(userstring)number = 0while number < len(userstring) :    letter = [twoexpoint - 1]    print (letter)    number += 1
查看完整描述

3 回答

?
四季花海

TA貢獻1811條經驗 獲得超5個贊

twoexpoint - 1是您需要的字符串相對于輸入字符串的最后一個索引。所以你需要的是從該索引開始并減少。在你的 while 循環中:

letter?=?test[twoexpoint-?number?-?1]

每次增加迭代number都會減少索引并反轉字符串。

但這樣你實際上并沒有使用userstring你已經找到的(除了長度......)。不用關心索引,只需反轉userstring

for?letter?in?userstring[::-1]:
????print(letter)


查看完整回答
反對 回復 2023-12-12
?
智慧大石

TA貢獻1946條經驗 獲得超3個贊

說明我們使用正則表達式來查找模式,然后循環查找每個出現的情況,并用反轉的字符串替換該出現的情況。我們可以在 python 中反轉字符串mystring[::-1](也適用于列表)

import re # I recommend using regex


def reverse_string(a):

? ? matches = re.findall(r'\!(.*?)\!', a)

? ? for match in matches:

? ? ? ? print("Match found", match)

? ? ? ? print("Match reversed", match[::-1])

? ? ? ? for i in match[::-1]:

? ? ? ? ? ? print(i)


In [3]: reverse_string('test test !test! !123asd!')

Match found test

Match reversed tset

t

s

e

t

Match found 123asd

Match reversed dsa321

d

s

a

3

2

1


查看完整回答
反對 回復 2023-12-12
?
桃花長相依

TA貢獻1860條經驗 獲得超8個贊

你把事情想得太復雜了。不要理會索引,只需使用reversed()onuserstring循環遍歷字符本身:

userstring = test[expoint+1:twoexpoint]

for letter in reversed(userstring):

? ? print(letter)

或者使用反向切片:


userstring = test[twoexpoint-1:expoint:-1]

for letter in userstring:

? ? print(letter)


查看完整回答
反對 回復 2023-12-12
  • 3 回答
  • 0 關注
  • 198 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號