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