2016-12-04 18 views
0

我是一名Python編程的初學者。 我需要製作一個Tic Tac Toe遊戲,但用戶可以輸入X和Y的數量。如何 n在X時間量之後

這是我的代碼:

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輸入3 BoardY我只收到6盒,而不是3x3盒。

請幫忙

回答

0
更多

歡迎來到python編程。換行符的問題是,每個print都以新行完成。所以在你的情況下,如果你多次撥打printboards(),它會把所有的盒子畫到另一個盒子下面。

因爲python函數range()使用0-索引表示它從0開始計數,所以只能獲得6個方框。如果使用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 -*-,因爲我使用的特殊字符的底部框。

希望我能幫上忙。

+0

謝謝你的幫助,但是當我加載程序而不是盒子的底部時,我有тА╛和我加了# - * - coding:utf-8 - * - – Telep0rter

+0

也許這是複製粘貼問題。只需Google「上線」,然後將其從維基百科文章中重新粘貼到腳本中即可。 – CDe

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)) 
相關問題