【问题标题】:Python String AccumulatorPython 字符串累加器
【发布时间】:2021-10-13 14:37:32
【问题描述】:

我正在尝试编写一个返回用户输入的代码,如下例-

用户输入:- 你好

返回:H-Ee-Lll-Llll-Ooooo

基本上,我希望每个字母增加 1,每个字母之间有一个破折号,每个破折号之间的第一个字母是大写。

谢谢!

【问题讨论】:

  • 你试过了吗?
  • 你有什么问题?
  • 你好乔纳森,欢迎来到 StackOverflow。获得查询答案的最佳方式是展示您已经尝试过的内容,分享代码 sn-ps 和错误消息,并针对您的查询提出确切的问题!请随时相应地编辑您的问题。

标签: python string accumulate


【解决方案1】:

如果你可以控制输入总是小写,@Sup 的答案会更小。

如果您需要担心不同的情况,如果您对列表理解没有太多经验,我建议您使用这个更容易阅读/理解的情况:

def string_acumulator(input: str):
    output = []
    for i, letter in enumerate(input):
        repetition = i+1
        word = letter * repetition
        output.append(word.capitalize())
    return '-'.join(output)

print(string_acumulator('HELLO'))
>>> H-Ee-Lll-Llll-Ooooo
print(string_acumulator('hello'))
>>> H-Ee-Lll-Llll-Ooooo

【讨论】:

    【解决方案2】:

    使用list理解:

    input = "hello"
    print('-'.join([i.upper()+i*n for n,i in enumerate(input)]))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-24
      • 1970-01-01
      • 1970-01-01
      • 2011-08-17
      • 1970-01-01
      • 2023-02-01
      相关资源
      最近更新 更多