找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 18730|回复: 8

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

[复制链接]
发表于 2016-4-12 09:40:45 | 显示全部楼层 |阅读模式
题目字面是这样的:
比较两个字符串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这种平台才是好的平台。只要能解决问题,代码你想怎么写就怎么来。
自由度高得多了。

评分

参与人数 1技术 +1 收起 理由
happy886rr + 1 我和我的小伙伴们都很惊讶!!!原来这么复杂。 ...

查看全部评分

 楼主| 发表于 2016-4-12 10:05:47 | 显示全部楼层
本帖最后由 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
复制代码
然后就通过了。。。
你完全不能确定,你在思路正确和代码正确的情况是否能通过。
于是你可能需要浪费大量时间去测试和修改提交你的代码。
我认为这是无意义的。
发表于 2016-4-12 10:33:22 | 显示全部楼层
回复 2# codegay
python有啥好的调试器没,我一直用txt记事本写代码,经常中文括号和英文括号混一起。测试报错也不知道哪错,还有print怎么把内容打印输出到txt。我一直用print来调试。
 楼主| 发表于 2016-4-12 10:53:04 | 显示全部楼层
回复 3# happy886rr


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

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

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

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

这个帖子可以参考:
https://www.zhihu.com/question/41896987
发表于 2016-4-12 11:01:55 | 显示全部楼层
回复 4# codegay
比如我for循环中有个print,如何把每次的print打印到txt里,方便我查看。
 楼主| 发表于 2016-4-12 11:13:36 | 显示全部楼层
回复 5# happy886rr


   略麻烦。
  1. f=open("test.txt","w+")
  2. print(data,file=f)

复制代码
如果是想双击运行看效果,可以在代码底部加input()
想当于批处理中的pause

不过一般的编辑器都带有build功能,可以直接运行写好的代码看输出。
发表于 2016-4-12 14:36:06 | 显示全部楼层
这些题目意义何在?说一些毫无意义的问题,写来写去水平提高不了的
 楼主| 发表于 2016-4-12 14:56:23 | 显示全部楼层
回复 7# Nsqs


    我也不会认为你会有什么更高明的见解。
发表于 2016-4-12 15:15:57 | 显示全部楼层
回复 8# codegay


    自以为是
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 02:09 , Processed in 0.010362 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表