"Tablo" girdisi, dizelerin listelerinin bir listesidir, hedef oluşturulur ve 2B tablosunu temsil eden biçimlendirilmiş
dizgisini döndürür.Dize formatı kullanın 2B liste oluştur
- 2B tablosunun her satırı ayrı bir satırdadır; Son satırı boş bir satır
- izler. Her sütun sola hizalanır;
- Sütunlar tek bir dikey çubukla ayrılır '|'; ve dikey çubuktan önce ve sonra tam olarak bir boşluk olmalıdır;
- Her satır başlar ve bir dikey çubukla sona erer; ve orada lider bar sonra tam olarak bir boşluk olmalı ve bitiş çubuğu İşte
önce ne var gerekir: satırlara boşluk eşit olduğunda
def show_table(table):
new_string = ''
for i in table:
for j in range(len(i)):
line = i[j]
new_string += '| {} '.format(i[j])
new_string += '|\n'
return new_string
Benim kod bazı durumlarda çalışır. Örneğin:
Ancakinput: [['A','BB'],['C','DD']]
output: '| A | BB |\n| C | DD |\n'
print:| A | BB |
| C | DD |
, satırlar gibi benzer olmadığında:
input: [['10','2','300'],['4000','50','60'],['7','800','90000']]
Benim çıkış farklılık neden olur:
Right_output: '| 10 | 2 | 300 |\n| 4000 | 50 | 60 |\n| 7 | 800 | 90000 |\n'
my_output: '| 10 | 2 | 300 |\n| 4000 | 50 | 60 |\n| 7 | 800 | 90000 |\n'
Ve sağ çıktı gerektiği düzgün benziyor:
| 10 | 2 | 300 |
| 4000 | 50 | 60 |
| 7 | 800 | 90000 |
my çıkışı: Ben çıktısını maç sağ çıktı yapmak için kodumu niteleyici gerekiyor
| 10 | 2 | 300 |
| 4000 | 50 | 60 |
| 7 | 800 | 90000 |
? Sanırım sütunların maksimum genişliği ile ilgili bir şey var mı?
AFAICS, çıktılarınız istenen çıktıyı karşılamadığında gereksinimleri karşılar (bazı dikey çubuklardan önce birden fazla alan yoktur). Şimdi eğer hala diğer çıkışı istiyorsan evet, her bir sütunun genişliğini hesaplaman gerek, sonra her bir diziyi formatlarken onu kullan. Bu, girişten iki kez geçerek yürümek anlamına gelmez. – Goyo