簡體   English   中英

如何將字符串分成兩部分?

[英]How to split a string into two parts?

我正在做python練習,但我被困在一個。

字符串分為兩部分(兩個新字符串):part1和part2。

如果弦的長度相等,那么這兩個部分也必須相等。

例如'Help' = 'He' and 'lp'

如果字符串的長度不相等,則將額外的字母分配給part1。

例如'Hello' = 'Hel' and 'lo'

我正在進行的練習有兩個字符串。 我需要剪切這兩個字符串,然后按以下方式連接它們:

<String1 Part1> + <String2 Part2>

<String2 Part1> + <String1 Part2>

因此,如果我們有cardplan他們就會成為caanplrd

到目前為止,我能想到的是:

def divide_strings(word1, word2):
    if len(word1)%2 > 0 or len(word2) %2 > 0:

    else len(word1) %2 == 0 or len(word2) %2 == 0:

我知道我還遠未完成,但我可以在正確的方向上使用一些提示。 我的大腦卡住了。

提前致謝!

你說暗示 - 所以

划分字符串的重要一點是試圖找出切割此字符串的位置。

考慮這個任務

x = len(s) // 2

if len(s) is 0 or 1, x will be 0
if len(s) is 2 or 3, x will be 1
if len(s) is 4 or 5, x will be 2

在所有情況下,x將是您要分配給part2的字符數

查找字符串切片並注意它可以采用負索引從字符串的末尾開始計數

添加

另外,我注意到你的例子似乎與你的問題陳述不符。

即,如果原始字符串是“卡”,我希望下面的結果基於您的問題陳述。 顯然,你的表現出了不同的預期結果 - 對於仔細檢查事物來說可能是一個好主意。

a / ca b / rd

你想要的是天花板分割:

>>> w = 'hello'
>>> split = -( ( -len(w) )//2 )
>>> split
3
>>> p1, p2 = w[:split], w[split:]
>>> p1
'hel'
>>> p2
'lo'

這就是分裂:

  1. 取這個詞(5)
  2. 取其負面(-5)
  3. 做Python的正常分區,(-5 // 2 == -3)
  4. 然后取消結果,(3)

所以把它放在一個函數中:

def splitword(w):
    split = -((-len(w))//2)
    return w[:split], w[split:]

>>> splitword('help')
('he', 'lp')
>>> splitword('hello')
('hel', 'lo')

以下內容可以幫助您做您想做的事情。 我沒有安裝python解釋器,所以我實際上無法測試這個。

def splitword(w):
    split = -((-len(w))//2)
    return w[:split], w[split:]

part1a, part2a = splitword('card')
part1b, part2b = splitword('plan')

newword1 = part1a + part2b
newword2 = part1b + part2a

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM