www.pythonchallenge.com是一个学习python语言的过关游戏,非常有意思。很早以前就知道了这个网站,但是因为python水平不佳,所以一直想等水平再高一点点再去玩。
周五的时候和同事们谈论起了Python,Ruby等动态语言与Java语言相比的一些优势,我举了pythonchanllenge中的第0题:计算2的38次方的例子,结果几个同事都对此产生了兴趣,不断的去用java来攻关,呵呵,希望大家也参与到进来,给出你的方法:)
玩法介绍:我代码注释中的网址就是题目,过关方式是将题目的答案替换掉url中的题号,比如第0题的题目是
http://www.pythonchallenge.com/pc/def/0.html,过关方法就是计算出2的38次方以后,将答案274877906944.html替换掉0.html,
http://www.pythonchallenge.com/pc/def/274877906944.html即第1题的题目,以此类推。
1.
import java.math.BigDecimal;
//http://www.pythonchallenge.com/pc/def/0.html
public class ChallengeZero {
public static void main(String[] args) {
BigDecimal a = new BigDecimal(2);
BigDecimal b = a.pow(38);
System.out.print(b);
}
}
2.
public class ChallengeOne {
// http://www.pythonchallenge.com/pc/def/map.html
public static void main(String[] args) {
String from = "g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm jmle. sqgle qrpgle.kyicrpylq() gq pcamkkclbcb. lmu ynnjw ml rfc spj. ";
//String from = "map";
String to = new ChallengeOne().translate(from);
System.out.println(to);
}
public String translate(String s) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < s.length(); i++) {
if (String.valueOf(s.charAt(i)).matches("[A-Z]|[a-z]")) {
if (s.charAt(i) == 'y') {
sb.append('a');
} else if (s.charAt(i) == 'z') {
sb.append('b');
} else {
sb.append((char) (s.charAt(i) + 2));
}
} else {
sb.append(s.charAt(i));
}
}
return sb.toString();
}
}
注:题目中的那串字符串的最终意思是让你用写好的转换方法来转换url中的单词,也就是map
3.
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class ChallengeTwo {
// http://www.pythonchallenge.com/pc/def/ocr.html
public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new FileReader(System.getProperty("user.dir")+"\\ocr.txt"));
String temp=null;
while ((temp=br.readLine()) != null) {
for(int i=0;i<temp.length();i++){
if(String.valueOf(temp.charAt(i)).matches("[A-Z]|[a-z]")){
System.out.print(temp.charAt(i));
}
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
注:网页的源码中有用注释写的一段乱码,其中混杂着几个英文字母,我们要做的就是将其中的英文字母找出来
分享到:
相关推荐
防御SQL注入的方法包括使用预编译的SQL语句(如Java中的PreparedStatement)和参数绑定。预编译的SQL语句可以有效防止某些类型的注入,因为它将用户输入与SQL代码分开处理。然而,这种方法并非绝对安全,攻击者可能...
第一天: DFS | 时间:O(n) | 空间:O(n) 第 2 天: 水库采样| 时间:O(n) | 空间:O(1) 第 3 天: 中序遍历 | 时间:O(n) | 空间:O(n) 第 4 天: 实施 | 时间:O(n) | 空间:O(1) 第 5 天: 实施 | 时间:O(n) | ...
参与者通常会将他们的代码存储在不同的文件中,每个文件对应一天的挑战题目。通过解压并查看这些文件,你可以学习到如何解决各种算法问题,理解不同问题的解题思路和优化技巧。 在这个过程中,你可能会遇到以下知识...
小姐姐炫酷唯美引导页.zip
scratch少儿编程逻辑思维游戏源码-让它们跳起来.zip
少儿编程scratch项目源代码文件案例素材-战斗塔防.zip
前端开发_Vue全家桶_vw适配_vux组件库_mescroll滚动_fastclick优化_mock模拟_less预处理器_移动端脚手架_基于Vue2和Webpack3构建的移动
数据可视化分析_微信小程序开发_JavaScript_Canvas图表渲染_数据助手工具_仿微信小程序数据助手_支持线性图圆环图柱状图条形图_动态效果适配_商业数据分析_移动端数据
少儿编程scratch项目源代码文件案例素材-章鱼怪.zip
音乐流媒体_API开发_网易云音乐接口封装与数据抓取_提供完整的网易云音乐API调用解决方案_包含歌曲搜索_MP3资源获取_歌词解析_播放列表管理_歌手专辑查询_专辑详情展示_MV
物联网与健康监测_基于RISC-V架构ESP32-C3芯片与MAX30102MAX30205传感器_LVGL图形界面与WiFiBLE双模通信的智能手表系统_实时监测心率血氧体温
wangtengfei-hn_EmployeesExample_23540_1745868671962
Android开发_自定义View绘制动画效果_模仿小米手环App首页计步数据展示_实现可自定义目标步数当前步数颜色字体大小圆点尺寸的动态步数统计图表组件_用于健康运动类App展示
少儿编程scratch项目源代码文件案例素材-钻机机器人.zip
scratch少儿编程逻辑思维游戏源码-狂暴坦克.zip
scratch少儿编程逻辑思维游戏源码-拳击.zip
scratch少儿编程逻辑思维游戏源码-魔方冲刺.zip
少儿编程scratch项目源代码文件案例素材-重返危机.zip
杰奇CMS小说网站系统_php53-73_mysql5-MariaDB10_utf8mb4编码_GBK自动转码_INNODB存储引擎_多模块支持_前后台分离_电脑手机双版适配_
linyuan620_StockAnalysisAssistant_17128_1745866117970