当我运行此代码时,它表现得像预期的那样:
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中的空格在某处消失而没有连接。
/\
/ \
/ \
/ \
/ \
任何人都可以帮我这个吗?我在很多方面都尝试过但无法得到它。
答案 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