尝试创建python程序,但使用def进行了简化

杰森

我正在尝试创建一个不导入任何内容的程序。该程序让用户输入一个段落,然后打印消息中有多少个A,多少个B等。因此它起作用了……它很长。我是编码的新手,我知道可以使用def简化下面的代码,但是我不确定如何。有人可以帮忙吗?

乌列尔

您不需要任何方法,但是可以确定地缩短它:

  • 字符串可以用作字符数组
  • 您可以使用该index方法确定字母在字母表中位置
  • 您可以字母和计数器列表中迭代一个成对压缩列表,以产生输出。
  • 使用if letter in alphabet作为一个后卫,以确保这封信是有效的字母,而不是硬编码的字母。这样,您甚至可以扩展您的字母(请注意,计数器设置为字母的长度)。

这是一个建议:

message = input('what is your message? ').upper()
alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
counter = [0] * len(alphabet)

for letter in message:
    if letter in alphabet:
        counter[alphabet.index(letter)] += 1

for letter, count in zip(alphabet, counter):
    print(letter, ':', count)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章