我有很多像'---\n---\n---\n-0-'and這樣的字串'---\n---\n-3-\n---',我想像這樣并排列印它們:
------ ------ ----3- -0----
這個怎么做?
這是我的代碼:
def formating_list_to_tab(note_list):
if 'E_0' in note_list:
return '---\n---\n---\n-0-'
elif 'F_0' in note_list:
return '---\n---\n---\n-1-'
elif 'F#_0' in note_list:
return '---\n---\n---\n-2-'
elif 'G_0' in note_list:
return '---\n---\n---\n-3-'
elif 'G#_0' in note_list:
return '---\n---\n---\n-4-'
elif 'A_0' in note_list:
return '---\n---\n---\n-5-'
elif 'A#_0' in note_list:
return '---\n---\n-1-\n---'
elif 'B_0' in note_list:
return '---\n---\n-2-\n---'
def print_tab():
note_list = []
for item in notes:
freq = detect_peak(*get_note_freq(item))
note_list.append(recognize_note(freq))
return note_list
note_array = print_tab()
opening_tab = 'G\nD\nA\nE'
for note in note_array:
note_into_tab = formating_list_to_tab(note)
opening_tab = note_into_tab
st.text(opening_tab)
這是我的結果:
G D A E--- --- --- -2---- --- --- -5---- --- --- -0---- --- --- -0---- --- --- -2---- --- --- -0---- --- --- -0-
提前抱歉英語不好,感謝您浪費時間在我身上=)并且stackoverflow系統要求我提供更多細節。為了顯示字串值,我正在使用 streamlit 庫。
uj5u.com熱心網友回復:
您不能附加到較早的行,您需要分別為每一行構建一個字串,然后按順序列印它們
def formating_list_to_tab(note_list):
# returns list of strings, one for each line
if 'E_0' in note_list:
return '---','---','---','-0-'
elif 'F_0' in note_list:
return '---','---','---','-1-'
elif 'F#_0' in note_list:
return '---','---','---','-2-'
elif 'G_0' in note_list:
return '---','---','---','-3-'
elif 'G#_0' in note_list:
return '---','---','---','-4-'
elif 'A_0' in note_list:
return '---','---','---','-5-'
elif 'A#_0' in note_list:
return '---','---','-1-','---'
elif 'B_0' in note_list:
return '---','---','-2-','---'
def print_tab():
note_list = []
for item in notes:
freq = detect_peak(*get_note_freq(item))
note_list.append(recognize_note(freq))
return note_list
note_array = print_tab()
g_line = 'G'
d_line = 'D'
a_line = 'A'
e_line = 'E'
for note in note_array:
# unpack list from function for each line
g_note,d_note,a_note,e_note = formating_list_to_tab(note)
g_line = g_note
d_line = d_note
a_line = a_note
e_line = e_note
# print each line
st.text(g_line '\n' d_line '\n' a_line '\n' e_line '\n')
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/426967.html
