作者erimow (阿歐伊)
看板Marginalman
標題[閒聊] python小白問個問題
時間Wed Jul 31 11:50:16 2024
# Write a function called "position" that returns a tuple of the first
uppercase letter and its index location. If not found, returns -1.
剛剛在寫這個很簡單的
def position(string):
for num, s in enumerate(string): # enumerate (iterable, start=0)
if s == s.upper():
print((s, num))
return (s, num)
print(-1)
return -1
enumerate很好寫沒有問題
但我剛剛想說用index寫寫看
def position(string):
for index in range(0, len(string)):
if string[index] == string[index].upper():
print((string[index], index))
print(-1)
return -1
position("abcd") # returns -1
position("AbcD") # returns ('A', 0)
position("abCD") # returns ('C', 2)
理論上上下兩者return都會這樣
但後者卻長這樣
('A', 0)
('D', 3)
-1
('C', 2)
('D', 3)
-1
def position(string):
for index in range(0, len(string)):
if string[index] == string[index].upper():
print((string[index], index))
return (string[index], index)
print(-1)
return -1
我補上return這行才正確
-1
('A', 0)
('C', 2)
有沒有人可以跟土法煉鋼學習的我解釋一下這個return扮演甚麼角色
我只是很直覺得加上去,就寫對了==
不懂why
--
色情兔兔真讚
https://imgur.com/8YI1yju.jpg 89011978/Choney
https://imgur.com/1v81UqN.jpg 3646291/Armadillo
https://imgur.com/miLxbrs.jpg 90838107/HEIJUN・玉田平準
https://imgur.com/jKug6M4.jpg 88459182/Yuyu
https://imgur.com/NEsfFYI.jpg 80081010/Moisture 南丁我婆
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 103.131.12.26 (澳大利亞)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1722397818.A.1BA.html
推 bach8517: 沒加會印所有大寫 07/31 11:55
→ erimow: 對啊 我只是想問return是讓他跑到第一個就回報結果的意思 07/31 11:56
→ Rushia: 你是用直譯器寫的話他螢幕上顯示的不一定是print 07/31 11:57
→ erimow: 我用visual studio寫 07/31 11:58
推 Chricey: 苦瓜胜肽 07/31 11:58 → Rushia: 你函數都是返回-1當然都顯示-1 07/31 12:00
→ Rushia: 其實我看了好幾分鐘都看不太懂你要問什麼 07/31 12:02
→ erimow: 就為什麼我多打return那行 他就會是我預期的答案 07/31 12:03
→ erimow: 沒有多跑出來的東西 07/31 12:03
→ Rushia: 總之你return之後後面的程式都不會執行了 07/31 12:03
推 sustainer123: 因為return 就是不會再往下走 07/31 12:03
推 Chricey: d3是什麼 07/31 12:03