如何\ n经过一段时间后的X时间

时间:2016-12-04 21:44:35

标签: python tic-tac-toe

我是python编程的初学者。 我需要制作一个Tic Tac Toe游戏,但用户可以输入X和Y的数量。

这是我的代码:

    def printboards():
    board_s1 = " _ "
    board_s2 = "| |"
    board_s3 = " _ "
    backspace = ("\n")
    print board_s1
    print board_s2
    print board_s3
    return
boardX = raw_input("How many X boards do you want? (insert 1 more than you want) > ")
boardY = raw_input("How many Y boards do you want? (insert 1 more than you want) > ")
for xx in range(1,int(boardX)):
    printboards()
    for yy in range(1,int(boardY)):
        printboards()

但每次我运行程序时,我都会得到这个:

enter image description here

我的第二个问题是,如果我在BoardX和BoardY输入3,我只得到6盒而不是3x3盒。

请帮助

2 个答案:

答案 0 :(得分:0)

通过修改函数来传递参数来控制宽度。

def printboards(x): board_s1 = " _ " * x board_s2 = "| |" * x board_s3 = " - " * x backspace = ("\n") print board_s1 print board_s2 print board_s3

删除了一个比你想要的更多的插入

boardX = raw_input("How many X boards do you want?  > ")
boardY = raw_input("How many Y boards do you want?  > ")
for循环中的

将额外的一个添加为int(boardX)+1以控制适当的深度

for xx in range(1,int(boardX)+1):
    #int(boardY) parameter controls the width
    printboards(int(boardY))

答案 1 :(得分:0)

欢迎使用python编程。换行的问题是,每个print都是在新行中完成的。因此,如果您多次拨打printboards(),则会将所有框都绘制在另一个框下。

你只得到6个盒子,因为python函数range()使用0索引意味着它从0开始计数。如果你使用range(0,int(boardX))range(0,int(boardY))它会给你合适的盒子数量。但是,如果你想从0开始,你只需丢弃0并使用range(int(boardX))

如果您正在使用一个功能来绘制电路板,那就让它完成整个事情:

#!/usr/bin/python
# -*- coding: utf-8 -*-
#The function now takes the dimensions of the board in x and y as arguments
def printboards(x,y):
    # This results in y rows of boxes
    for i in range(y):
        # with x * "some text" you can multiply text
        print x*" _  "
        print x*"| | "
        print x*" ‾  " 

boardX = raw_input("How many X boards do you want? > ")
boardY = raw_input("How many Y boards do you want? > ")
printboards(int(boardX), int(boardY))

还有一件事:我还添加了# -*- coding: utf-8 -*-,因为我在框底部使用了一个特殊字符。

希望我能提供帮助。