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

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

如何修復 11、12 和 13 以“th”結尾

如何修復 11、12 和 13 以“th”結尾

富國滬深 2023-12-08 14:51:25
代碼將輸入一條語句,然后輸入一個每次循環加 1 的數字,并根據語句的結尾輸入“st of all”、“nd of all”、“rd of all”或“th of all”。號碼。**當到達 11、12 和 13 時,它只使用“st of all”、“nd of all”和“rd of all”,而對于 11、12 和 13 應該只使用“th of all” .**import pyautoguiimport timetime.sleep(5)number = 0numberSuffix = ""while True:    number += 1    if str(number).endswith("1"):        numberSuffix = "st of all"    if str(number).endswith("2"):        numberSuffix = "nd of all"    if str(number).endswith("3"):        numberSuffix = "rd of all"    if str(number).endswith("4" or "5" or "6" or "7" or "8" or "9" or "0" or "11" or "12" or "13"):        numberSuffix = "th of all"    print(str(number) + numberSuffix)    pyautogui.typewrite("Statement")    time.sleep(0.5)    pyautogui.press("enter")    time.sleep(0.5)    pyautogui.typewrite(str(number) + numberSuffix)    time.sleep(0.5)    pyautogui.press("enter")    time.sleep(0.5)
查看完整描述

3 回答

?
嗶嗶one

TA貢獻1854條經驗 獲得超8個贊

這是因為 11,12,13 的 if 語句是最后一個,嘗試將最后一個 if 語句放在第一個 if 語句(當前 if 語句之上),看看會發生什么,更改后可能會出現其他一些邊緣情況,但它會讓你知道你做錯了什么


if str(number).endswith("4" or "5" or "6" or "7" or "8" or "9" or "0" or "11" or "12" or "13"):

    numberSuffix = "th of all"

elif str(number).endswith("1"):

    numberSuffix = "st of all"

elif str(number).endswith("2"):

    numberSuffix = "nd of all"

elif str(number).endswith("3"):

    numberSuffix = "rd of all"

我建議至少為此做一個定義


查看完整回答
反對 回復 2023-12-08
?
小唯快跑啊

TA貢獻1863條經驗 獲得超2個贊

該行沒有執行您想要執行的操作:


 if str(number).endswith("4" or "5" or "6" or "7" or "8" or "9" or "0" or "11" or "12" or "13"):

這里發生的事情"4" or "5" or "6" or ...只是被評估為"4"。來吧,你自己嘗試一下。您實際上需要在這里做的事情更像是:


if str(number).endswith("4") or str(number).endswith("5") or ...

這顯然需要輸入很多額外的內容。執行 @Aplet123 建議的操作并檢查實際數字而不是數字的字符串轉換可能要容易得多。


last_digit = number % 10

last_two_digits = number % 100

if 10 < last_two_digits < 14

    numberSuffix = "th of all"

elif last_digit == 1:

    numberSuffix = "st of all"

elif last_digit == 2:

    numberSuffix = "nd of all"

elif last_digit == 3:

    numberSuffix = "rd of all"

else:

    numberSuffix = "th of all"

    


查看完整回答
反對 回復 2023-12-08
?
Helenr

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

只需添加特殊情況:


def get_ending(num):

    if num in [11, 12, 13]:

        return "th"

    lastdig = num % 10

    if lastdig == 1:

        return "st"

    elif lastdig == 2:

        return "nd"

    elif lastdig == 3:

        return "rd"

    else:

        return "th"


# more code...

while True:

    number += 1

    numberSuffix = get_ending(number) + " of all"

    print(str(number) + numberSuffix)


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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