我正在尝试使用"。"(点)和" *"星号打印棋盘。假设输入为33我需要打印3 X 3棋盘。
我的代码是这样的:
32
('*', '.')
('.', '*')
*.
我不知道为什么有括号,逗号和引号。
这是我的代码:
row = raw_input()
row = int(row)
count = 0
a = "*"
b = "."
while True:
count = count +1
if ((int(str(row)[0]))%2 == 0) and ((int(str(row)[1]))%2 == 0):
print (a,b) * (int(str(row)[1])/2)
print (b,a) * (int(str(row)[1])/2)
elif ((int(str(row)[0]))%2 != 0) and ((int(str(row)[1]))%2 == 0):
print (a,b) * (int(str(row)[1])/2)
print (b,a) * (int(str(row)[1])/2)
elif ((int(str(row)[0]))%2 == 0) and ((int(str(row)[1]))%2 != 0):
print (a,b) * (int(str(row)[1])/2), "*"
print (b,a) * (int(str(row)[1])/2), "."
elif ((int(str(row)[0]))%2 != 0) and ((int(str(row)[1]))%2 != 0):
print (a,b) * (int(str(row)[1])/2), "*"
print (b,a) * (int(str(row)[1])/2), "."
if (int(str(row)[0]))%2 == 0 and count == (int(str(row)[0]))/2 :
break
elif (int(str(row)[0]))%2 != 0 and count == (int(str(row)[0]))/2:
print "*."
break
我使用逻辑" a" * 4将打印aaaa,但它不是那样的打印!
P.S。我知道很少有东西仍然不像单个数字板和任何包含1的板。
答案 0 :(得分:1)
而不是(a,b) * number
使用(a+b) * number
。 (a,b)
是一个元组,而(a+b)
是一个字符串。