【问题标题】:Print every two letters pairs in python3在python3中打印每两个字母对
【发布时间】:2020-09-23 12:50:16
【问题描述】:

我是 Python 新手,我陷入了一个练习,该练习告诉我提供一个脚本,打印每对可能的两个字母,仅小写,逐行,按字母顺序排列,这是我最接近的东西可以的

import string 
x=string.ascii_lowercase
y=list(x)
for i in y:
    print(i,end='')
    for g in y:
        print(g)

【问题讨论】:

  • 这是否会产生错误,如果是,是什么?您的问题是什么?
  • 我认为外循环中的 print 可能意味着它会打印 aa b c 等而不是 aa ab ac - 只打印两者 ig 在内循环中

标签: python alphabetical


【解决方案1】:

您只打印每对的第一个字母一次。

from string import ascii_lowercase as lowercase_letters

for first_letter in lowercase_letters:
    for second_letter in lowercase_letters:
        print(first_letter + second_letter)

另外:

  • 您不需要将字符串转换为列表,您可以循环遍历字符串就可以了。事实上,list(some_string) 就是这样工作的!
  • 我使用了更易读的变量名。
  • 使用from ... import 意味着您不需要额外分配。

【讨论】:

    【解决方案2】:

    您需要在第二个 for 循环中打印 i 字母

    import string 
    x=string.ascii_lowercase
       
    for i in x:
        for g in x:
            print(i,g)
    

    所以程序将遍历第一个循环中的每个字母,然后将整个字母一个接一个地打印为第二个循环中的第二个字母

    【讨论】:

      【解决方案3】:
      word_list = ['WELCOME']
      double_letters = []
      for word in word_list:
          for i,j in enumerate(word):
              x = word[i:i+2]
              if len(x) == 2:
                  double_letters.append(x)
      print(double_letters)
      

      如果给你一个单词列表。那么这是一种可能的方式

      【讨论】:

        【解决方案4】:

        试试这个代码,它将按字母顺序打印

        您已经研究过 ASCII 码,所以它的作用是循环 97 到 122,其中包含所有字母,然后将它们连接起来。

        for firstchar in range(97, 123):
            for secondchar in range(97, 123):
                  print(chr(firstchar) + chr(secondchar))
        

        【讨论】:

        • 我认为这很简单,并且使用标准编码,而不是仅仅导入无用的东西
        • 有趣的方法。支持低层次的思考。
        【解决方案5】:

        如果使用字符串模块,这是非常简单的任务:

        import string
        
        for firstchar in string.ascii_lowercase:
            for secondchar in string.ascii_lowercase:
                print(firstchar + secondchar)
        

        【讨论】:

        • 您能否提供更多详细信息。输入的字符串长什么样子?
        • 在 python 中,string.ascii_lowercase 将为您提供从小“a”到...“z”的小写字母。在某处我读到它就像一个用作“字符串常量”的预初始化字符串。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-13
        • 1970-01-01
        • 2017-08-10
        • 2022-12-19
        • 2015-04-17
        相关资源
        最近更新 更多