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

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

如何在python中打印以下模式?

如何在python中打印以下模式?

我想打印這個圖案         1        12A       123BA      1234CBA     12345DCBA    123456EDCBA   1234567FEDCBA  12345678GFEDCBA 123456789HGFEDCBA12345678910IHGFEDCBA我的這種模式的代碼:n=11a=65for i in range(1,n):    for j in range(1,n-i):        print(end=' ')    for j in range(1,i+1):        print(j,end='')    for j in range(i-1,0,-1):        ch=chr(a)        print(ch,end='')        a=a+1    print()但這是打印:         1        12A       123BC      1234DEF     12345GHIJ    123456KLMNO   1234567PQRSTU  12345678VWXYZ[\ 123456789]^_`abcd12345678910efghijklm我認為問題在于最后一個 for 循環(huán),但我無法糾正它。有人可以幫忙嗎?提前致謝。
查看完整描述

5 回答

?
有只小跳蛙

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

打印第一行后a,值已從 65 更改,這就是為什么您只會增加字母,直到您處于特殊字符的字符代碼處。保持固定并使用循環(huán)變量來計算正確的字母:


n=11

a = 65

for i in range(1,n):


    for j in range(1,n-i):

        print(end=' ')

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

        print(j,end='')

    for j in range(i-1,0,-1):

        ch=chr(a+j-1)    # Note the change here

        print(ch,end='')


    print()

這打印


         1

        12A

       123BA

      1234CBA

     12345DCBA

    123456EDCBA

   1234567FEDCBA

  12345678GFEDCBA

 123456789HGFEDCBA

12345678910IHGFEDCBA


查看完整回答
反對 回復(fù) 2022-10-18
?
青春有我

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

這是一個小的改進。


n=11

a=65

for i in range(1,n):

    for j in range(1,n-i):

        print(end=' ')

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

        print(j,end='')

    for j in range(i-2,-1,-1):

        if i != 1:

            ch=chr(a+j)

            print(ch,end='')

    print()


查看完整回答
反對 回復(fù) 2022-10-18
?
小怪獸愛吃肉

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

好吧,我喜歡這個:


letters="IHGFEDCBA"

lines = 11

for i in range(lines,-1,-1):

    print(i*' ' + ''.join([str(num) for num in range(1, lines-i)]) + letters[i:])

但我不相信列表理解是否值得。


查看完整回答
反對 回復(fù) 2022-10-18
?
PIPIONE

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

您沒有在每次迭代時重置 a 的值,i也沒有在最后一個循環(huán)中使用 j 的值。


n=11


for i in range(1,n):

    a=64  #note this is inside loop now and the value was reduced by 1

    for j in range(1,n-i):

        print(end=' ')

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

        print(j,end='')

    for j in range(i-1,0,-1):

        ch=chr(a+j)  #note the change here

        print(ch,end='')

        a=a+1

    print()

由于您的 a 從未被重置為 65,因此該值超過了 90 并開始打印相應(yīng)的 ascii 字符。


查看完整回答
反對 回復(fù) 2022-10-18
?
呼喚遠方

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

我真的很親近:


n=11

a=65

for i in range(1,n):

    a=65+i-2 # a need to actually end on char A

    for j in range(1,n-i):

        print(end=' ')

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

        print(j,end='')

    for j in range(i-1,0,-1):

        ch=chr(a)

        print(ch,end='')

        a=a-1 # here we substract so we go backward!

    print()


查看完整回答
反對 回復(fù) 2022-10-18
  • 5 回答
  • 0 關(guān)注
  • 204 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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