我正在尝试格式化字符串,所以一切都在两者之间排列.
APPLES $.99 214
kiwi $1.09 755
Run Code Online (Sandbox Code Playgroud)
我这样做是通过这样做:
fmt = ('{0:30}{1:30}{2:30}'.format(Fruit,price,qty))
Run Code Online (Sandbox Code Playgroud)
如何排列一列?我阅读了文档,但我很困惑.我以为它{1:30}会使它成为30个空格,然后它会打印下一个项目,但它看起来是前一个项目结束的30个空格.
谢谢
所以我想知道,是否有任何简单的代码可以使用Java或Python制作奇数或偶数输入的Hour Glass模式?因为我的代码不简单(我使用的是Python).
这是输出示例:

然后,这是我的代码:
def evenGlassHour(target):
jsp=1
jtop=target
jbot=2
jbotspace=int(target/2)
eventarget=int(target/2)
temp=""
for i in range(eventarget):
for j in range(i):
temp+=" "
for jsp in range(jtop):
temp+="@"
jtop-=2
temp+="\n"
for i in range(eventarget-1):
for j in range(jbotspace-2):
temp+=" "
for j in range(jbot+2):
temp+="@"
jbot+=2
jbotspace-=1
temp+="\n"
print(temp)
def oddGlassHour(target):
jsp=1
jtop=target
jbot=1
jbotspace=int(target/2)
oddtarget=int(target/2)
temp=""
for i in range(oddtarget):
for j in range(i):
temp+=" "
for jsp in range(jtop):
temp+="@"
jtop-=2
temp+="\n"
for i in range(oddtarget+1):
for j in …Run Code Online (Sandbox Code Playgroud) 我正在解决这个挑战,其中根据给定的数字,它将显示每个奇数的星号(*)增量。基本上结果应该是,如果我运行下面的函数并将 n_floor 设置为 5,它应该显示下面的结果。我的代码以某种方式迭代每个楼层数并增加每个奇数的 * 但结果失败,但这是因为这些引号之间的星号间距是错误的。有什么想法/提示如何解决这个问题吗?
A。正确结果
[' * ', ' *** ', ' ***** ', ' ******* ', '*********']
Run Code Online (Sandbox Code Playgroud)
b. 我的脚本的结果如下:
['*', '***', '*****', '*******', '*********']
Run Code Online (Sandbox Code Playgroud)
def tower_builder(n_floor):
a = '*'
b = 1
c= 0
result = []
num=range(1, n_floor+1)
# * to increment by odd number
for x in num:
c = a
result.append(c)
a += str('**')
return result
Run Code Online (Sandbox Code Playgroud)