2022年10月28日 星期五

跟著網站做~~snakify遇到的問題

 snakify.org 是老師推薦練習的網站,聽說是美國高中生練習用的。今天才突然想到沒有留下紀錄,但因為解題後,他都會幫忙儲存正確的答案,但還是要找來找去的,乾脆就記錄下來比較好找。先從現在做的第十章開始記錄吧!!!之後有機會再補前面的@@

  1. 第一章:input, print and numbers
  2. 第二章:integer and float numbers
  3. 第三章:conditions: if, then, else
  4. 第四章:for loop with range
  5. 第五章:strings
  6. 第六章:while loop
  7. 第七章:lists
  8. 第八章:functions and recursion
  9. 第九章:two dimensional lists ( arrays )
  10. 第十章:sets → 不重複且不排列的 集合(set),這裡的a, b當set
    10-1:set可以用len(a)來計算長度(因不重複,所以長度就是有幾個)
    10-2:可以用 a & b (交集) 來看a, b 有多少重複的
    10-3:可以用 sorted(a) 變成 list 並排列大小,感謝海獅團隊分享sorted,測試先生分享join
    10-4:a = [int(i) for i in input().split()] 這個是轉成數字
                b = list( input().split() ) 這個是字串 list
    10-5:a - b,就是差集,保留a有,但b沒有
    10-6:用split只能區分空白,但包含標點符號,所以有可能計算錯誤。
    10-7:要先將input 放入變數a,才可以來區分a是甚麼東西。
    10-8:這裡先使用dict來儲存。
  11. 第十一章:dictioinaries,"鍵"不能重複
    11-1:原始的方式,有的話就將值+1
    11-2:直接將取得的值,放入到dict裡
    11-3:要將dict轉成list,想好久才成功,原本用兩個迴圈,導致資料重複且多做很多次。
    其實只要用 list.insert(0,[陣列])就可以成功了@@而且list 的sort不能放在print,要先跑一次,再列出list。看了答案後發現,dict可以用sorted(dict)來排列~~
    11-4:找出最多出現的word。
    11-5:看檔案是否可讀寫執行。解答先用dic排出wirte,read,execute。
    11-6:country, *cities = input().split(),這招不錯用,可將後面輸入的變成一個陣列。11-7也有用到~~
    11-7:先將內容變成dic1(k,v)並加總。然後sorted排列成另一個dic2,並將相同數量的變成key,word變成value(有用小技巧,加空白來區隔)。在排列一次dic3,將數量由大到小排列,並列出排過的word。
    11-8:因為分隔的符號有不一樣,所以先分隔英文跟拉丁文,再將拉丁文分隔出來。


沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。