[英]What's wrong with my Python code? Example in Head First Python
它說
james.append(sanitize(each_item))
(mins, secs) = time_string.split(splitter)
need more than 1 value to unpack
怎么了? 謝謝。 這是Head First Python中的示例
james = []
def sanitize(time_string):
if '-' in time_string:
splitter = '-'
elif ':' in time_string:
splitter = '-'
else:
splitter = ','
(mins, secs) = time_string.split(splitter)
return(mins + '.' + secs)
with open('james.txt', 'r') as jaf:
data = jaf.readline()
james_data = data.strip().split(',')
for each_item in james_data:
james.append(sanitize(each_item))
sort(james)
print(james)
我很確定第二個應該
elif ':' in time_string:
splitter = ':'
基本上,它將查找以下類型的字符串:min:sec或min-sec或min,sec,然后嘗試將其轉換為min.sec
但是當前除了min-sec以外的其他任何時間都將失敗,因為split沒有有效的工作方法。
因此,看起來它僅適用於成對的csv文件,例如:
min-sec, min-sec, min-sec,
在第一行
如果您修復了第二個“如果”,它也將在min:sec上運行。.但是它還應該處理其他沒有:或-可能只是按原樣返回它們的令牌?
對於諸如<???>-<????>-<???>
Sanitize在確定要嘗試使用它拆分字符串然后重新構建的拆分器之后,正在尋找一個字符串以拆分其輸入。
但是,如果拆分器顯示的次數更多,則一旦分解器將失敗,因為可能會有太多的值需要解壓縮。 默認的分隔符是,
這是該文本中唯一不可能出現的字符
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.