Codewar python訓練題全記錄——持續更新


 

 

1.square 數的判斷

from math import sqrt
def is_quare(n): return n > 0 and sqrt(n).is_integer()

point:

from math import sqrt

is_integer()命令使用

% 求余符號的使用

return () 可以直接返回 T or F

2. two fighters and one winners

 

point:

ceil() 取上整數命令, 【考慮到實際情況中 damage 值多為Integer, 所以用ceil()取整】

attrgetter() 定位命令??  【attribute 可以自己創建, 例如本例子中的 turn attribute】

 

 

 3. find needle in the haystack 

point: 

index() method 使用, 占位符的應用  

return 代替 print

enumerate() method 使用 

str.format() 字符的占位符? 可以應用公式的占位符??

 

 4.10 

Format a string of names like 'Bart, Lisa & Maggie'.

Given: an arrary containing hashes of names:

Return: a string formatted as a list of names separated by commas except for the last two names.

Questions:

1. what is hashes?  http://pythoncentral.io/hashing-strings-with-python/

2. 如何操作hash值保證只返回單獨的

 

暫時沒有答案

 

Reversing Words in a String

for i in st   沒有用到循環, 直接使用 split() reverse() join()

思路: 找到空格就轉換或者找到 “ ' ”就直接

Point:

str.split([sep[, maxsplit]])

Persistent Bugger.

思路: 1 * n 一定是個位數  2 * 1 2 3 4一定是個位數  3 *  1 2 3 一定是個位數 

質數不可以, 一定是要

point: 無法解鎖答案

 

Square Every Digit

思路: number 可以循環么? 轉換數據類型 然后直接循環

 

point: 生成新的字符兩種方法 

Mystring = ""
for i in str()
    Mystring += str( )
' '.join(str() for i in str(s))

  總結: string 可以用來循環, 生成string的命令, string的拆分, reverse() 命令進行reverse item

 

4.11

Remove First and Last Character:

point:

考查string類型的使用

感覺智商被碾壓了。 只關注於細節上,看到單個的字符而沒有注重整體的處理。                                                                                                 

 

 

Two to One

point:

how to sort

如何排除重復的選項?

 

4.16日更新

——————————————————————————————

思路:

1.判定是否為square -> math.sqrt(x) 是一個整數

2.求得下一個square的值 sqrt(x) + 1 后的平方值

 

第一道自己做出來的題: 不錯

 

 

 

思路分析:str() 命令直接使用

 

 

——————————————

 4.17 更新

思路分析:

思路一:

1.找到space的位置

2.刪除掉space 

思路二:

遍歷整個string -> 不是space的字符保留 -> 生成到新的string 中

 

 

 point:

1. replacec() 命令的使用  string.replace(str1, str2, num = string.count(str1)) 用str2替換string中出現的所有str1,或者最多num個

2. “ ”和 “”的區別,space也屬於一個字符??

 

 

Point:

1.內置的sum()命令

2.循環與條件判斷式的結合

 

思路分析:

是否需要用到遞歸?

行數與數值大小的關系?1,4,16,9,25,36

 

 

感覺自己在鬧着玩一樣,n*(n**2) 可以合並為n**3

 

————————————————————

4.17日更新

 

 

 

point: 善用求余符號 //

 

 

point: 

range 的結果返回list/ range(start, stop[, step]) / 直接構造數列的思考角度

 

 

括號的重要性體現在整體性上么??

point:

return 條件判斷默認返回True/ False

正則表達式的使用 \d {n}顯示n位

bool() 命令

 

2017-5-2 更新

 

這個問題是關於list 使用

思路: 遍歷list, count每個元素出現的次數,如果次數超過指定的數值,刪除在后面的數

 

 

 

思路: 分別找到兩個List 中最短的和最長的string, 然后做差, 如何找到這個

 

 

 

思路: 與reduce命令有關? input 在哪里?

 

 

 

5.14日更新-

每天一小時 三道題

 

 

common denominator 題目 完全懵逼了 沒有看懂需要做什么。意思是找到公用的分母,然后根據list中的rational 數值確定分子?

 

 

https://www.codewars.com/kata/54d7660d2daf68c619000d95/train/python 

 

思路:

1. 先確定所有的乘積 ???

2. 判斷乘積是否存在連續的fib數

3.

 

 Reverse a String 

 

 

point: sort函數用來排序+ 提取相關元素即可以完成

 5.15日更新

 

point: 

log 函數 + ceil()函數 取小於

 

 

思路:

1.搜索兩個點之間的內容

2.搜索“//” 符號 至 “.”

正則表達式?? 

兩種編輯模式 : http:// + content +.com...   //  https://www.content.com  對於第一種 提取 "//" 和 "." 符號中間部分的內容

 

 

3. 完全沒看懂題目

 

 

 

5.16 更新

 2. best travel 題目

 

list 中求和,3個元素的和,

point: 

1.循環后連續求和?

 

 

 

 

 

 

 5.17 更新

point:這是一個對於string的操作:

思路:

從最小位開始計算,如果超過60 就進一位? 60進制? 超過24更新為0?

 

 5.18 更新

思路:先轉換為8bits 再將8bits的字符轉換為32bits的數字

問題:字符轉換時如何做到的??

對於<< 符號?

 

 

3. summing a number's digits

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM