English 中文(简体)
不同长度的公式
原标题:Format in python by variable length

I want to print a staircase like pattern using .format() method. I tried this,

for i in range(6, 0, -1):
    print("{0:>"+str(i)+"}".format("#"))

但它给我带来了以下错误:

ValueError: Single  }  encountered in format string

基本想法是印刷

     #
    #
   #
  #
 #
#

具有类似准则的

for i in range(6, 0, -1):
    print("{0:>i}".format("#"))
最佳回答

目前,你的法典解释如下:

for i in range(6, 0, -1):
    print ( ("{0:>"+str(i))     +     ("}".format("#")))

因此,形式说明是单一“}”构造的,不正确。 你们需要:

for i in range(6, 0, -1):
    print(("{0:>"+str(i)+"}").format("#"))

您所希望的工作:

================ RESTART: C:/Users/Desktop/TES.py ================
     #
    #
   #
  #
 #
#
>>> 
问题回答

Use f-strings

for i in range(6, 0, -1): 
    print(f"{ # :>{i}}")

产出:

     #
    #
   #
  #
 #
#

or Use format (instead of concatenating strings)

for i in range(6, 0, -1): 
    print("{0:>{1}}".format("#", i))

产出:

>>> for i in range(6, 0, -1): print("{0:>{1}}".format("#", i))

     #
    #
   #
  #
 #
#




相关问题
Simple JAVA: Password Verifier problem

I have a simple problem that says: A password for xyz corporation is supposed to be 6 characters long and made up of a combination of letters and digits. Write a program fragment to read in a string ...

Case insensitive comparison of strings in shell script

The == operator is used to compare two strings in shell script. However, I want to compare two strings ignoring case, how can it be done? Is there any standard command for this?

Trying to split by two delimiters and it doesn t work - C

I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...

String initialization with pair of iterators

I m trying to initialize string with iterators and something like this works: ifstream fin("tmp.txt"); istream_iterator<char> in_i(fin), eos; //here eos is 1 over the end string s(in_i, ...

break a string in parts

I have a string "pc1|pc2|pc3|" I want to get each word on different line like: pc1 pc2 pc3 I need to do this in C#... any suggestions??

Quick padding of a string in Delphi

I was trying to speed up a certain routine in an application, and my profiler, AQTime, identified one method in particular as a bottleneck. The method has been with us for years, and is part of a "...

热门标签