Board logo

标题: [原创代码] 某代码平台题目,比较字符串A是否包含字符串B?(吐槽贴) [打印本页]

作者: codegay    时间: 2016-4-12 09:40     标题: 某代码平台题目,比较字符串A是否包含字符串B?(吐槽贴)

题目字面是这样的:
比较两个字符串A和B,确定A中是否包含B中所有的字符。字符串A和B中的字符都是 大写字母


题目本来就简单对不对,单纯的我心中也是这么想的,哼,这么简单的题目,只要填下下面一行流的代码就完事了!
  1.     return all([True if r in list(A) else False for r in B])
复制代码
然后在灌测试数据的时候,
提示B=="",
期望得到True
我WTF....然后改代码

经过一个小时的反复的修改和提交代码:

总之都是在提交代码测试的时候你才知道这个题目的真正要求。
最终能通过的代码是SB成这样的:
  1. class Solution:
  2.     """
  3.     @param A : A string includes Upper Case letters
  4.     @param B : A string includes Upper Case letters
  5.     @return :  if string A contains all of the characters in B return True else return False
  6.     """
  7.     def compareStrings(self, A, B):
  8.         # write your code here
  9.         #SB timu!!
  10.         if A=='' and B=='':
  11.             return True
  12.         if A == '' :
  13.             return False
  14.         elif B == '' :
  15.             return True
  16.         lista=list(A)
  17.         for r in B:
  18.             if r in lista:
  19.                 lista.remove(r)
  20.             else:
  21.                 return False
  22.                  
  23.         return True
复制代码
还是像projecteuler.net这种平台才是好的平台。只要能解决问题,代码你想怎么写就怎么来。
自由度高得多了。
作者: codegay    时间: 2016-4-12 10:05

本帖最后由 codegay 于 2016-4-12 10:26 编辑

又刷了一道题,
题目是Implement pow(x, n).

相当我只填下:
return x**n
这几个字母.
  1. class Solution:
  2.     # @param {double} x the base number
  3.     # @param {int} n the power number
  4.     # @return {double} the result
  5.     def myPow(self, x, n):
  6.         # Write your code here
  7.         return x**n
复制代码
然后就通过了。。。
你完全不能确定,你在思路正确和代码正确的情况是否能通过。
于是你可能需要浪费大量时间去测试和修改提交你的代码。
我认为这是无意义的。
作者: happy886rr    时间: 2016-4-12 10:33

回复 2# codegay
python有啥好的调试器没,我一直用txt记事本写代码,经常中文括号和英文括号混一起。测试报错也不知道哪错,还有print怎么把内容打印输出到txt。我一直用print来调试。
作者: codegay    时间: 2016-4-12 10:53

回复 3# happy886rr


    我用python自带的IDLE写了很长时间。点File , new file
或者新建的.py的文件,右键用IDLE打开,编辑。

然后就是推荐PyCharm 社区版,应该是免费。。一般装上就能用。

我现在用sublime text 3,但是是收费的。所以不推荐。

ATOM 和sublime text 之类这种需要自己安装插件和配置build文件的,我也不推荐。

这个帖子可以参考:
https://www.zhihu.com/question/41896987
作者: happy886rr    时间: 2016-4-12 11:01

回复 4# codegay
比如我for循环中有个print,如何把每次的print打印到txt里,方便我查看。
作者: codegay    时间: 2016-4-12 11:13

回复 5# happy886rr


   略麻烦。
  1. f=open("test.txt","w+")
  2. print(data,file=f)
复制代码
如果是想双击运行看效果,可以在代码底部加input()
想当于批处理中的pause

不过一般的编辑器都带有build功能,可以直接运行写好的代码看输出。
作者: Nsqs    时间: 2016-4-12 14:36

这些题目意义何在?说一些毫无意义的问题,写来写去水平提高不了的
作者: codegay    时间: 2016-4-12 14:56

回复 7# Nsqs


    我也不会认为你会有什么更高明的见解。
作者: Nsqs    时间: 2016-4-12 15:15

回复 8# codegay


    自以为是




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2