使用Python将字符串与空格连接

时间:2017-07-31 11:37:47

标签: python concatenation spaces

当我运行此代码时,它表现得像预期的那样:

x = int(input("Put number: "))
result_figure =[]
xtempleft = x-1
xtempright = 0
space = " "
sl = "/"
bsl  = "\\"
#Q1
for i in range(x):
    if xtempleft > 0:
        q1= space * xtempleft + sl
        xtempleft -= 1
        print(q1)

    else:
        q1 = sl
        print(q1)
#Q2
for i in range(x):
    if xtempright == 0:
        xtempright += 1
        q2= bsl 
        print(q2)
    else:
        q2 = space * xtempright + bsl
        xtempright += 1
        print(q2)

我明白了:

    /
   /
  /
 /
/
\
 \
  \
   \
    \

问题在于,当我尝试做一些修改时:

for i in range(x):
    result =""
    if xtempleft > 0:
        q1= space * xtempleft + sl
        xtempleft -= 1
        result += q1     
    else:
        q1 = sl
        result += q1
#Q2
    if xtempright == 0:
        xtempright += 1
        q2= bsl 
        result += q2
    else:
        q2 = space * xtempright + bsl
        xtempright += 1
        result += q2  
    print(result)

在相同的行中打印我需要的内容我得到它就像Q2中的空格在某处消失而没有连接。

    /\
   / \
  /  \
 /   \
/    \

任何人都可以帮我这个吗?我在很多方面都尝试过但无法得到它。

3 个答案:

答案 0 :(得分:1)

在修改中你省略了for循环。

在您的初始代码中有两个for循环,在您的修改中,您省略了第二个for循环。

答案 1 :(得分:0)

如果这是您的预期输出,

    /\
   /  \
  /    \
 /      \
/        \

将#Q2修改为:

if xtempright == 0:
        xtempright += 1
        q2= bsl 
        result += q2
    else:
        q2 = space * (xtempright+1) + bsl
        xtempright += 2
        result += q2

答案 2 :(得分:0)

/在每一行上留下一个位置时,您需要在\之前增加一个空格。写在Q2中就足够了:

    q2 = space * 2 * xtempright + bsl