如何在同一行上打印if语句

时间:2020-10-31 17:46:51

标签: python

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:那样行太多了

2 个答案:

答案 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# 
### ### ### ### ### ###