k318. Python駭客題-判斷數字
標籤 : Python 字串 駭客題
通過比率 : 19人/43人 ( 44% ) [非即時]
評分方式:
Special

最近更新 : 2024-03-20 17:49

內容
☆解題須知☆
本題是「駭客題」,與一般的競賽解題不同,
解題者不必根據題目撰寫解題的程式碼,
題目本身會提供一個存在問題的程式碼,
解題者的目標是構造出一個合理的輸入,
使得該程式執行後會導致錯誤(WA 或 RE 等等)。
 
Alice 和 Bob 是正在學習 Python 的學生,某一天 Snail 老師出了一份作業,要求學生實作一個函數 isNumber(s),其輸入參數 s 為一個字串,該函數需要回傳一個布林值用以判斷字串 s 是否為「數字」?若一個字串至少包含一個字元,且之中的每個字元皆為阿拉伯數字 0123456789 其中之一,則我們稱該字串為「數字」。
Alice 和 Bob 都在期限內完成作業,以下是他們答案:
Alice 的答案:
def isNumber(s: str) -> bool:
    return s.isdecimal()
Bob 的答案:
def isNumber(s: str) -> bool:
    return s != '' and all(48 <= c <= 57 for c in map(ord, s))
Snail 老師先是對於兩人皆在規定時間之內完成作業給予讚許,但在查看兩人的程式碼後卻表示 Alice 和 Bob 之中只有一個人的答案正確,不過 Snail 老師接著還有重要的會議要出席,於是在說完話之後就匆匆離開了。
由於 Snail 老師並沒有說誰的答案正確,Alice 和 Bob 都堅持自己才是正確的一方,兩人爭執不下,此時倒楣的你正好路過他們旁邊,你隨即被請來幫助他們。首先,你需要先判斷究竟誰才是正確的那一方,接著為了方便說明,你還需要準備一個字串,該字串作為輸入參數時,對於兩人所撰寫的函數會有不同的回傳值。
你能夠順利幫助 Alice 和 Bob 嗎?
輸入說明
本題沒有輸入。
輸出說明
輸出包含兩個部分,其中輸出的第一行為第一部分,剩餘的輸出屬於第二部分。
第一部分需輸出 Alice 或是 Bob,代表誰的程式碼是正確的。
第二部分的輸出將會被視為一個 Python 的字串,該字串長度不應超過 $100$ ,且當該字串作為輸入參數時,必須使得兩人所撰寫的函數有不同的回傳值。
!!請注意!!
  • 本題為「自訂比對」,
    故無法使用「測試執行」進行測試。
  • 本題的「範例輸出」僅作為輸出格式參考範本,
    除了格式之外其內容不具任何意義,
    直接輸出並無法 AC 本題。
  • 若輸出結尾存在換行或其他空白字元,
    皆會被視作字串的一部分,
    還請特別注意。
  • 若欲使第二部分的字串為空字串,
    僅輸出第一部分即可。
  • 關於本題的換行,
    以第一個 \n(U+000A) 單一字元作為輸出中第一部分與第二部分的分隔。
範例輸入 #1


											
										
範例輸出 #1
Alice
1234567890
測資資訊:
記憶體限制: 64 MB
提示 :
評測說明🔍
下列情況皆會被視作答案錯誤(WA):
  • 輸出檔案過大
  • 沒有任何輸出
  • 輸出無法以 UTF-8 編碼轉換成 Python 字串型態
  • 第一部分並非輸出 Alice 或是 Bob
  • 第一部分回答錯誤
  • 第二部分轉換成 Python 字串型態後其長度超過 $100$
  • 第二部分的字串無法使得兩者函數有不同的回傳值
另外,為了增加難度,
以及避免解題者從錯誤訊息中反推正確答案,
答案錯誤將會統一顯示 WA (line:1)
並且不會提供詳細的錯誤訊息。
題目更新日誌📝
2023/06/16
  • 新增「題目更新日誌」
  • 更改部分文字與樣式
  • 修正錯字
2023/06/15
  • 公開題目
出題者的話💬
各位好,我是本題的出題者,
本題的出題想法源自我自身學習 Python 的心路歷程,
以前還不熟悉 Python 的時候,
曾經搜尋過「Python 字串 判斷數字」或類似的關鍵字,
結果多年後在一次機緣巧合之下,
我才發覺網路上給的答案大多都不完全正確,
又或者說與我期望上有所不同,
這件事令我頗為震驚,
於是就有將此出成題目的想法。
另外,作為出題者在此有個小小的請求,
對於順利 AC 本題的各位,
請不要於 解題報告 中直接給出答案或撰寫無關的內容,
如果能願意配合我會很感謝你的。
若對於題目有任何問題,
歡迎使用 本題討論 或站內信告知我,
如果我有看到將會盡速處理。
標籤:
Python 字串 駭客題
出處:
[管理者: lw310659 (面臨首次失敗又當不成『 』的我...) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
41639 d2513850 (林勇智) k318
161 2024-08-13 02:00
35763 yes51851823@ ... (wseds) k318
數字字元
372 2023-06-15 23:34