【问题标题】:Unwanted Brackets Output in Rubik's Cube ScramblerRubik's Cube Scrambler 中不需要的括号输出
【发布时间】:2023-01-11 08:01:07
【问题描述】:

我正在使用 python 3.10.2 制作 Rubik 的立方体加扰器程序,除一件事外,一切正常。当输出随机生成的 scramble 时,不需要的方括号、引号和逗号也会出现。关于如何解决这个问题的任何想法? -谢谢

import random

notation = ["R","L","F","B","U","D","R'","L'","F'","B'","U'","D'","R2","L2","F2","B2","U2","D2"]
scramble = []
i = 0

while i < 9:
    randomNotation = random.choice(notation)
    scramble.append(randomNotation)
    i += 1
print(scramble)

输出:['L2', 'L', "R'", "D'", 'L', 'F2', 'R', "D2", 'L']

【问题讨论】:

    标签: python random rubiks-cube


    【解决方案1】:

    您正在打印 list,这就是 list 的默认字符串表示形式。如果你想将值格式化为不同的东西,你有很多选择。例如:

    > print(''.join(scramble))
    D2FB2L'R2LDF'U
    
    > print(' '.join(scramble))
    D2 F B2 L' R2 L D F' U
    
    > for step, rotation in enumerate(scramble, 1):
    >     print(f'{step}: {rotation}')
    1: D2
    2: F
    3: B2
    4: L'
    5: R2
    6: L
    7: D
    8: F'
    9: U
    

    【讨论】:

      【解决方案2】:

      您的输入需要再擦洗一下。例如,您的元素之一是带有额外单引号的“D'”。这应该可以解决您的问题。

      stringList = ['L2', 'L', "R", "D", 'L', 'F2', 'R', "D2", 'L']
      totalString = ""
      for element in stringList:
        totalString += element
      print (totalString) # Prints L2LRDLF2RD2L
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-08-09
        • 1970-01-01
        • 2012-04-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-12
        • 2019-10-27
        相关资源
        最近更新 更多