我正在尝试创建一个播放赌场游戏掷骰子的程序,但不是显示整数输出,而是显示骰子的滚动(就像骰子实际上看起来一样)。我有实际的游戏玩法(我使用random.randint(1,6
模拟骰子滚动,但实际的视觉部分是我的。我遇到过使用字典解决方案,但我不允许使用它(什么是负载...)
输出应该看起来像第一个,理想情况下,但我继续使用join
命令得到第二个。
看起来应该是这样......
+-----+ +------+
| | | |
| | | |
+-----+ +------+
但我一直都是这样。
+------+
| |
| |
+------++------+
| |
| |
+------+
这是我的代码。我知道这个列表很难读,但这是我被允许这样做的唯一方法。
list = ['+-------+' + '\n' + '| |' + '\n' + '| * |' + '\n' + '| |' + '\n' + '+-------+' , '+-------+' + '\n' + '| * |' + '\n' + '| |' + '\n' + '| * |' + '\n' + '+-------+' , '+-------+' + '\n' + '| * |' + '\n' + '| * |' + '\n' + '| * |' + '\n' + '+-------+' , '+-------+' + '\n' + '| |' + '\n' + '| * |' + '\n' + '| |' + '\n' + '+-------+']
sep = ''
x = sep.join(list[0:2])
print x
答案 0 :(得分:1)
我非常喜欢这样做。 =)
base = '+-------+ +-------+'
sep = ' '
blank = '| |'
left = '| * |'
middle = '| * |'
right = '| * |'
both = '| * * |'
dice = [(blank, middle, blank),
(left, blank, right),
(left, middle, right),
(both, blank, both ),
(both, middle, both ),
(both, both, both )]
def print_dice(a, b):
print(base)
print('\n'.join(a + sep + b for a, b in zip(dice[a-1], dice[b-1])))
print(base)
执行:
>>> print_dice(2, 5)
+-------+ +-------+
| * | | * * |
| | | * |
| * | | * * |
+-------+ +-------+
答案 1 :(得分:0)
您可以使用多行字符串。
print("""
+-----+ +------+
| | | |
| | | |
+-----+ +------+
""")
如果要在多维数据集上显示点,请查找str.format()
方法。