第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何讓一個大字符串(又名 str 圖片)一個接一個打???

如何讓一個大字符串(又名 str 圖片)一個接一個打印?

aluckdog 2022-06-14 16:13:55
+___ +___ +___ |1 / |2 / |3 / |__\ |__\ |__\ |    |    | 我試圖讓標(biāo)志一個接一個地出現(xiàn),我能想到的唯一方法是將圖片的每一部分分配給各種變量(這意味著添加top = '+___'等等)。但是如果它確實適用于較小的圖片,應(yīng)該我用更大的?創(chuàng)建一個數(shù)組并遍歷它在時間和內(nèi)存計劃中也不是一個好的解決方案。我試圖將所有內(nèi)容附加在一個字符串中,但使用end=''它并不能按照我需要的方式塑造形式(僅從新行開始)。我會很感激你的建議,在此先感謝。n = int(input())flag = """+___  |  /  |__\  |   """for i in range(1, n + 1):    print(flag[:9] + str(i) + flag[10:])PS-這是我找到的一個練習(xí),但不知道如何有效地解決。
查看完整描述

2 回答

?
偶然的你

TA貢獻1841條經(jīng)驗 獲得超3個贊

我不明白為什么迭代實際上會成為問題,除非您打印數(shù)百萬個標(biāo)志。我認為這將是最快的。無論如何,優(yōu)化總是你最不想做的事情,你首先需要一個有效的算法。


我不會真正解決這個練習(xí),而是一些事情。您可以先一行一行地使用強大的星號運算符:


print("ORA  " * n)

print("MUDA " * n)

由于所有字符的間距相同,您可以看到它打印得很好。重要的是要檢查所有行是否具有相同數(shù)量的字符,或者對其進行填充(例如,在行尾插入空格)。


現(xiàn)在,關(guān)于更改字母,您需要更改一些算法:


print("ORA   " * n)

for i in range(n):

    print("HELLO ".replace('E', i))

print(i)

print("MUDA  " * n)

如果你擔(dān)心你的老師會不喜歡這種編碼風(fēng)格,首先,這對你很好,然后你確實可以使用數(shù)組,有點像這樣:


# Notice that all my line have the same length

flag = """

ORA  

MUDA 

"""


f_lines = flag.split("\n")

for l in f_lines:

    print(l * n)

考慮到這一點,我認為您擁有解決鍛煉所需的所有關(guān)鍵。


查看完整回答
反對 回復(fù) 2022-06-14
?
慕萊塢森

TA貢獻1810條經(jīng)驗 獲得超4個贊

您不能并排打印 - 您的光標(biāo)移動到下一行,每次打印都會


頂部 = '+___'


您可以將圖片拆分為單獨的行。它創(chuàng)建了一個可以迭代的列表。


然后你可以使用簡單的乘法打印一些字符串的倍數(shù)*:


n = int(input())

flag = """

+___  

|  /  

|__\  

|     

"""

for line in flag.split("\n"):

    print(line * n)

結(jié)果:


+___  +___  +___  +___  +___  

|  /  |  /  |  /  |  /  |  /  

|__\  |__\  |__\  |__\  |__\  

|     |     |     |     |     

但這僅在您的原始標(biāo)志的所有行長度相等時才有效。如果您不想確保其中有空格,您可以稍后添加填充。使用字符串格式或一些巧妙的技巧。


至于數(shù)字,字符串格式是你的朋友!


flag = """

+___  

|{} /  

|__\  

|     

"""

請注意這里的標(biāo)志是如何被破壞的 -{}是兩個字符,但我們將只使用一個數(shù)字來代替它!


然后我們需要一個內(nèi)部循環(huán),因為每個標(biāo)志需要一個不同的數(shù)字。


for line in flag.split("\n"):

    for i in range(1, n+1):

        print(line.format(i), end="") #by default each print is one line, we want to stay in the same line!

    print() #print the new line only after n * part of the flag is printed

結(jié)果:


+___  +___  +___  +___  +___  

|1 /  |2 /  |3 /  |4 /  |5 /  

|__\  |__\  |__\  |__\  |__\  

|     |     |     |     |     


查看完整回答
反對 回復(fù) 2022-06-14
  • 2 回答
  • 0 關(guān)注
  • 131 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號