欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何利用python倒置所輸字符串的順序

 更新時(shí)間:2024年03月26日 14:55:58   作者:戳蘇  
這篇文章主要介紹了如何利用python倒置所輸字符串的順序問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

python菜鳥(niǎo)一只,本文僅供自己記錄,所寫(xiě)代碼難免有貓餅,如有錯(cuò)誤以及可以改進(jìn)的地方,還請(qǐng)各位多多海涵,不吝賜教。

一、 目的

如題,用python將輸入的字符串倒置。

倒置情況如下

1. 輸入字符串(內(nèi)無(wú)空格)“abcd1234”

  • 返回:“4321dcba”

2. 輸入一串英文單詞,進(jìn)行單詞內(nèi)部倒置:

  • 輸入:“hello world”
  • 返回:“olleh dlrow”

3. 輸入一串英文單詞,進(jìn)行單詞順序倒置:

  • 輸入:“hello world”
  • 返回:“world hello”

二、思路與方法

1. 首先明確

字符串有索引,字符串中第一個(gè)字符的索引為0,其他字符的索引按從左到右順序依次+1

  • a b c d
  • 0 1 2 3

如果按倒序進(jìn)行索引,則字符串中最后一個(gè)字符的索引為-1,其他字符的索引按從右到左的順序依次-1

  • a   b   c   d
  • -4  -3  -2  -1

預(yù)期實(shí)現(xiàn)的是將【輸入】的字符串反轉(zhuǎn),需要明確,我們不知道輸入的字符串中一共有幾個(gè)字符。

于是用到for循環(huán),遍歷字符串中字符數(shù):

k = ""
m = 0
for i in a:
    m -= 1
    k += a[m]
print(k)

其中i是遍歷的內(nèi)容,但是我們不需要這些字符,于是沒(méi)有用到i。m為字符串的索引。

k為空字符串,用來(lái)裝倒置結(jié)果。

字符串的拼接用運(yùn)算符即可。

(以上內(nèi)容可以封裝為一個(gè)函數(shù),后面的內(nèi)容就可以用到這個(gè)函數(shù)了)

def re(a):
    # 將輸入的字符串倒置
    m = 0
    k = ""
    for i in a:
        m -= 1
        k += a[m]
    return k

2. 單詞內(nèi)部倒置是以“空格”為間隔進(jìn)行倒置

這次需要用到兩個(gè)空的字符串k1和k2。

依然用for循環(huán)進(jìn)行遍歷,不過(guò)這時(shí)候因?yàn)槲覀兗恿艘粋€(gè)條件:空格

這里就要用if條件語(yǔ)句

即:在遇到空格之前,我的字符串要完整保留,因?yàn)檫@是一個(gè)完整的單詞,并把字符放到空字符串中,方便字符串倒置;在遇到空格的時(shí)候我要干什么呢?

首先,k1中已經(jīng)有了一個(gè)完整的單詞,我需要將其倒置

于是我將k1作為參數(shù),放在函數(shù)re中,并得到一個(gè)結(jié)果,這個(gè)結(jié)果放到另一個(gè)空字符串k2中

k2是一個(gè)字符串,單詞之間要有空格,于是在k2后面再加上一個(gè)空格字符

此時(shí)k1中還放著未倒置的單詞,我需要用它在后面的循環(huán)中裝新的單詞,舊的單詞就不需要了,于是可以將k1重新賦值為空字符串

輸入到這里,發(fā)現(xiàn),最后一個(gè)單詞的末尾沒(méi)有空格,if條件句就執(zhí)行了一半,最后一個(gè)單詞沒(méi)有倒置,也沒(méi)有輸出

怎么辦?

此時(shí)k1中放著的是最后一個(gè)單詞,再用一次re函數(shù),并用運(yùn)算符加在k2上即可

代碼如下:

k1 = ""
k2 = ""
for x in w:
    if x != " ":
        k1 += x
    else:
            k2 += re(k1)
            k2 += " "
            k1 = " "
k1 = re(k1)
k2 += k1
print(k2)

3. 輸入一段英文

(可以是句子,句子后面沒(méi)加標(biāo)點(diǎn))將這段英文中的單詞順序倒置

上面兩個(gè)是遍歷每一個(gè)字符,將每個(gè)字符分批倒置,這次是將數(shù)量不等的字符作為一個(gè)整體變換順序。

即:將字符串按照空格切分,形成多個(gè)字符串,并倒置字符串的順序

問(wèn)題:如何放置數(shù)量不等的字符串?

答:一個(gè)空列表

問(wèn)題:列表?列表怎么輸出字符串呢?

答:列表只是一個(gè)過(guò)渡的工具,按照索引來(lái)把列表中的字符串放到空字符串中,輸出的也是一條字符串。但別忘了空格哦

所以創(chuàng)建一個(gè)函數(shù):

def put(a):
    # 將輸入字符串按照空格進(jìn)行分隔,打包成列表
    k1 = ""
    k2 = []
    for i in a:
        if i != " ":
            k1 += i
        else:
            k2.append(k1)
            k1 = ""
    k2.append(k1)
    return k2

結(jié)尾依然是最后一個(gè)單詞要手動(dòng)添加

這樣我們就可以按照之前的思路進(jìn)行倒置:

sent = str(input("輸入一段英文,進(jìn)行句子反轉(zhuǎn):"))
sent1 = put(sent)
string = ""
m = 0
for i in sent1:
    m -= 1
    string += sent1[m]
    string += " "
print(string)

為什么沒(méi)用re函數(shù)呢?

其實(shí)可以用,但是缺少了一點(diǎn)

re里沒(méi)有在單詞后面加空格。

輸出的結(jié)果也就沒(méi)有空格。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python實(shí)現(xiàn)時(shí)間序列可視化的方法

    Python實(shí)現(xiàn)時(shí)間序列可視化的方法

    matplotlib庫(kù)是一個(gè)用于創(chuàng)建出版質(zhì)量圖表的桌面繪圖包(2D繪圖庫(kù)),是Python中最基本的可視化工具。這篇文章主要介紹了Python時(shí)間序列可視化實(shí)現(xiàn),需要的朋友可以參考下
    2019-08-08
  • python遞歸計(jì)算N!的方法

    python遞歸計(jì)算N!的方法

    這篇文章主要介紹了python遞歸計(jì)算N!的方法,涉及Python遞歸計(jì)算階乘的技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2015-05-05
  • PyTorch CNN實(shí)戰(zhàn)之MNIST手寫(xiě)數(shù)字識(shí)別示例

    PyTorch CNN實(shí)戰(zhàn)之MNIST手寫(xiě)數(shù)字識(shí)別示例

    本篇文章主要介紹了PyTorch CNN實(shí)戰(zhàn)之MNIST手寫(xiě)數(shù)字識(shí)別示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • django 數(shù)據(jù)庫(kù) get_or_create函數(shù)返回值是tuple的問(wèn)題

    django 數(shù)據(jù)庫(kù) get_or_create函數(shù)返回值是tuple的問(wèn)題

    這篇文章主要介紹了django 數(shù)據(jù)庫(kù) get_or_create函數(shù)返回值是tuple的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05
  • Python利用3D引擎寫(xiě)一個(gè)Pong游戲

    Python利用3D引擎寫(xiě)一個(gè)Pong游戲

    之前,我們嘗試過(guò)用pygame做了一個(gè)2D的Pong游戲。本文將利用強(qiáng)大的3D引擎Ursina制作一個(gè)3D版的Pong游戲。文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2023-01-01
  • Django?Middleware自定義中間件及作用詳解

    Django?Middleware自定義中間件及作用詳解

    這篇文章主要為大家介紹了Django?Middleware自定義中間件示例及其作用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • PyTorch中torch.no_grad()用法舉例詳解

    PyTorch中torch.no_grad()用法舉例詳解

    這篇文章主要介紹了PyTorch中torch.no_grad()用法的相關(guān)資料,torch.no_grad()是PyTorch的上下文管理器,用于臨時(shí)禁用自動(dòng)梯度計(jì)算,減少內(nèi)存消耗并加快計(jì)算速度,它適用于模型評(píng)估或推理階段,可以顯著提高效率,需要的朋友可以參考下
    2024-09-09
  • Python使用scipy進(jìn)行曲線(xiàn)擬合的方法實(shí)例

    Python使用scipy進(jìn)行曲線(xiàn)擬合的方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于Python使用scipy進(jìn)行曲線(xiàn)擬合的相關(guān)資料,Scipy優(yōu)化和擬合采用的是optimize模塊,該模塊提供了函數(shù)最小值(標(biāo)量或多維)、曲線(xiàn)擬合和尋找等式的根的有用算法,需要的朋友可以參考下
    2022-05-05
  • Python判斷回文數(shù)的三種方法實(shí)例

    Python判斷回文數(shù)的三種方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于Python判斷回文數(shù)的三種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Python從數(shù)據(jù)庫(kù)讀取大量數(shù)據(jù)批量寫(xiě)入文件的方法

    Python從數(shù)據(jù)庫(kù)讀取大量數(shù)據(jù)批量寫(xiě)入文件的方法

    今天小編就為大家分享一篇Python從數(shù)據(jù)庫(kù)讀取大量數(shù)據(jù)批量寫(xiě)入文件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12

最新評(píng)論