簡體   English   中英

如何概括 python 中所有字符串的給定代碼?

[英]how to generalize the given code for all strings in python?

我的目標是編寫 function 將字符串作為參數,例如“Nisa”並返回“N1I2S3A”。 但是我寫的代碼只適用於只有三個字符的字符串。 如何概括所有字符串的代碼? 如果你能幫助我,我將非常感激,因為我是 python 的初學者。 這是代碼:

tested_str = str(input("Enter a name: "))
def strPattern(mystr):
   while tested_str:
        if len(mystr) == 1:
           return mystr.upper()
        else:
           return (mystr[0] + str("1") + mystr[1:len(mystr) - 1:1].upper() + str("2") 
           + mystr[-1]).upper()

strPattern(mystr=tested_str)

這是真正的pythonic方式:)

tested_str = str(input("Enter a name: "))

def str_pattern(mystr):
   return ''.join([f'{c}{i}' for i, c in enumerate(mystr.upper(), 1)])

str_pattern(tested_str)
  • 使用enumerate遍歷字符串的字符
    • 從一開始枚舉
  • 在每次迭代中:通過附加字符然后枚舉來構造一個列表
  • 通過加入列表中的字符來創建一個新字符串。

這可以幫助我相信。

tested_str = str(input("Enter a name: "))
def strPattern(mystr):
    output=[]
    for i,c in enumerate(mystr):
        if i != 0:
            output.append(str(i))
        output.append(c.upper())
    return "".join(output)

print(strPattern(mystr=tested_str))

暫無
暫無

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

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