亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

在這個練習中我應該把變量放在哪里?

在這個練習中我應該把變量放在哪里?

楊魅力 2023-08-22 10:44:12
我得到了這個練習,其中我打印的句子的結尾必須是符號/字母“p”。當我運行這個程序時,結果是這樣的: 如果我使用數字 9:p q p qp q pp q p 正如您所看到的,“p”始終位于句子的開頭,但我希望它始終位于句子的末尾。像這樣的東西。q p q pp q pq pp我認為變量“a”每次都必須減1。雖然,我不知道該把它放在哪里。這是代碼。number = int((input()+1)/2 - 1)i = 1while i <= number:    a = number    while a >= i:        if a % 2 == 0:            print("q", end = " ")            a -= 1        elif a % 2 == 1:            print("p", end = " ")            a -= 1    print()    i += 1
查看完整描述

3 回答

?
慕娘9325324

TA貢獻1783條經驗 獲得超4個贊

在此示例中,您要查看的行數是與輸入 + 1 相加的整數。1+2+3+4 = 10 = 9+1。將有 4 行,并且在每行上您想要跟蹤該行上的字母數。使用更好的變量名稱可以更輕松地遵循代碼。


input = 9

n_lines = 1

i = 1

while i < input:

    i += n_lines

    n_lines += 1


for line_number in range(n_lines):

    number_letters = n_lines - line_number  # This will be number of letters: 4, 3, 2, 1

    for i in range(number_letters - 1):

        print("q", end="")

    print("p")


查看完整回答
反對 回復 2023-08-22
?
HUH函數

TA貢獻1836條經驗 獲得超4個贊

我對你的代碼做了一些更改(與 python 3 一起使用)


input_num = int(input())

number = int((input_num + 1) / 2 - 1)



def print_line(line_length):

    if line_length % 2 == 1:

        # start with p

        letters = ['p', 'q']

    else:

        # start with q

        letters = ['q', 'p']


    for i in range(line_length):

        pos = i % 2

        # print the relevant letter

        print(letters[pos], end=' ')

    print()


我做了一個知道如何打印特定行的方法。

它接收line_length并知道如何打印 p 和 q。

如果行長是奇數,我們需要從 p 開始

  • 1 - p

  • 3-pqp

  • 5 - pqpqp

  • ETC..

如果線長是偶數,我們從 q 開始

  • 2 - qp

  • 4 - qpqp

  • 6 - qpqpqp

  • ETC...

for n in range(number, 0, -1):

    print_line(n)


查看完整回答
反對 回復 2023-08-22
?
SMILET

TA貢獻1796條經驗 獲得超4個贊

使用 [-1] 將“p”放在末尾



查看完整回答
反對 回復 2023-08-22
  • 3 回答
  • 0 關注
  • 4172 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號