#31916: python答案與解題思路


rlongdragon (龍)

學校 : 桃園市立南崁高級中學
編號 : 182274
來源 : [60.248.128.169]
最後登入時間 :
2024-07-22 22:53:41
f046. 公車上的跑馬燈 -- 板橋高中Python教學題 | From: [60.248.128.169] | 發表日期 : 2022-08-28 18:36

python答案
w = int(input())
m = input()
t = int(input())

m = (w*" ") + m

t = t % len(m)

p_w = m[t:t+w]

p_w = p_w + ((w-len(p_w))*" ")

print(p_w)

以下為解題思路
解題思路:
我們可以把跑馬燈看成移動的框框 在字串上面移動
跑馬燈當下的輸出就是框框內的文字
再因為時間為0的時候 是沒有任何文字的
所以我們在原有字串前面加上空白字串 m = (w*" ") + m
然後為了避免框框一直跑 我們的想法就是當框框移動到底的時候 再重頭開始
所以我們將時間取長度的餘 t = t % len(m)
最後 因為python的範圍取值不會有 out of index的問題
所以再補上缺的空白即可 p_w = p_w + ((w-len(p_w))*" ")

 

 
#37346: Re: python答案與解題思路


wubaie (小億)

學校 : 不指定學校
編號 : 123253
來源 : [111.240.1.39]
最後登入時間 :
2024-11-07 18:39:23
f046. 公車上的跑馬燈 -- 板橋高中Python教學題 | From: [220.133.154.226] | 發表日期 : 2023-09-02 23:17

python答案
w = int(input())
m = input()
t = int(input())

m = (w*" ") + m

t = t % len(m)

p_w = m[t:t+w]

p_w = p_w + ((w-len(p_w))*" ")

print(p_w)

以下為解題思路
解題思路:
我們可以把跑馬燈看成移動的框框 在字串上面移動
跑馬燈當下的輸出就是框框內的文字
再因為時間為0的時候 是沒有任何文字的
所以我們在原有字串前面加上空白字串 m = (w*" ") + m
然後為了避免框框一直跑 我們的想法就是當框框移動到底的時候 再重頭開始
所以我們將時間取長度的餘 t = t % len(m)
最後 因為python的範圍取值不會有 out of index的問題
所以再補上缺的空白即可 p_w = p_w + ((w-len(p_w))*" ")

 

應該不用這麼麻煩!先直接前後都加空白*w,再切片就解完了。

 
ZeroJudge Forum