im试图获得如下所示的结果
### ###
#2# #3#
### ###
first = 2
second = 3
if first == 2:
print('###', end=" ")
print('#2#', end=" ")
print('###', end=" ")
if second == 3:
print('###', end=" ")
print('#3#', end=" ")
print('###', end=" ")
我无法让他们像我想要的那样彼此相邻,这也适用于数字1到11,所以我不能只做if first == 2 and second == 3:
那样行太多了
答案 0 :(得分:2)
您可以使用for循环执行任务:
first = 2
second = 3
for current in range(first, second+1):
print('###', end=' ')
print()
for current in range(first, second+1):
print('#{}#'.format(current), end=' ')
print()
for current in range(first, second+1):
print('###', end=' ')
print()
打印:
### ###
#2# #3#
### ###
针对:
first = 2
second = 6
它打印:
### ### ### ### ###
#2# #3# #4# #5# #6#
### ### ### ### ###
编辑:仅打印两个数字:
first = 2
second = 6
print('### ###')
print('#{}# #{}#'.format(first, second))
print('### ###')
打印:
### ###
#2# #6#
### ###
答案 1 :(得分:0)
更紧凑,可读性和可维护性的选项:
first = 2
second = 7
def doLine(s):
for i in range(first, second+1):
print(s.format(i), end=' ')
print()
doLine('###')
doLine('#{}#')
doLine('###')
结果:
### ### ### ### ### ###
#2# #3# #4# #5# #6# #7#
### ### ### ### ### ###