Re: Debug_刷題答案 Partial Accept 疑惑
※ 引述《depatg1998 (可可可)》之銘言:
: 輸入有三行。
: 第一行為兩個整數 H, L,數字間以空格分開,代表當天氣溫的最高溫及最低溫,保證 H
: >= L。
: 第二行為一個 0-100 間的整數,代表該天的降雨機率。
: 第三行為一非負整數,代表當天的紫外線指數。
...
: 以下為code
: H_L = input().split(' ')
: H_L_int = [int(i) for i in H_L]
: # print(H_L_int)
第一行就錯了
題目要求定義H, L是整數,數字間以空格分開,還要保證 H >= L
幫凱凱寫程式第一件事,要先預設凱凱是智障
你怎麼知道凱凱不會給你隨便輸入:
1.字串、浮點數
2.3個以上溫度或只有1個溫度或是根本沒輸入
3.氣溫用符號「&」、全形空格,而不是半形空格分開
4.把最低溫輸入在前面,最高溫輸入在後面
要避免這種情況發生,
一定要建立一個函式(function)去檢查以下條件,
只要不合法就拋出錯誤或是要求重新輸入:
1.氣溫是否是整數?
2.氣溫是否只有兩個?
3.兩者是否用半形空格分開?
4.即便兩者輸入相反,也必須自行把較高的數字設定成H,最低設定成L
所以應該是:
def announce_rule():
print('告知凱凱輸入規則')
def get_tempertrue():
while True:
userinput = input()
#開始檢查
if not ...:
#如果條件不符合跳回去重新輸入
print('輸入不合法,請重新輸入')
continue
#自動把最高的整數賦值給high,最低溫給low
high = ...
low = ...
return high, low
announce_rule()
H, L = get_tempertrue()
print(H, L)
才能避免以上問題,並且正確地把最高溫賦值給H,最低溫賦值給L
第二、三行同理,
刷題就是為了要對付考試,考試考的就是這個細節,
而不是input output一樣就好,
考試一題假設25分,input output一樣也不會25滿分,頂多給你15~20分
細節出來22~25分,供參考
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.229.208.148 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1697571244.A.6C4.html
噓
10/18 05:17,
1年前
, 1F
10/18 05:17, 1F
→
10/18 05:17,
1年前
, 2F
10/18 05:17, 2F
講白癡話 刷題不面試不考試 你刷身體健康的?
這就是書本的不會告訴新人的細節 也是新人最容易陷入的誤區
平時不養成作答細節 考試你答的出來才有鬼
另外看你在本板的推文 沒什麼建設性的回應 只會噓人
這邊真的不需要你 敗壞本板風氣
※ 編輯: panex0845 (27.53.144.252 臺灣), 10/18/2023 06:48:55
→
10/18 12:18,
1年前
, 3F
10/18 12:18, 3F
推
10/19 03:32,
1年前
, 4F
10/19 03:32, 4F
→
10/19 08:07,
1年前
, 5F
10/19 08:07, 5F
噓
10/20 16:15,
1年前
, 6F
10/20 16:15, 6F
→
10/20 16:16,
1年前
, 7F
10/20 16:16, 7F
→
10/20 16:27,
1年前
, 8F
10/20 16:27, 8F
你不懂我在講什麼 建議多看幾次 重新理解
這題很明顯是使用者導向的題目
一定要就可能的情形拋出錯誤分數才會高
你當然可以不寫 也不能說你錯 但是你拿的到高分嗎
※ 編輯: panex0845 (39.9.231.108 臺灣), 10/20/2023 19:17:30
噓
10/23 10:14,
1年前
, 9F
10/23 10:14, 9F
→
10/23 10:14,
1年前
, 10F
10/23 10:14, 10F
→
10/23 10:14,
1年前
, 11F
10/23 10:14, 11F
噓
10/23 14:29,
1年前
, 12F
10/23 14:29, 12F
→
10/25 01:21,
1年前
, 13F
10/25 01:21, 13F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章