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();
}
}
}
注:网页的源码中有用注释写的一段乱码,其中混杂着几个英文字母,我们要做的就是将其中的英文字母找出来
分享到:
相关推荐
Java到Python的转换工具,如标题“java2python”所示,是编程领域中的一种实用技术,旨在帮助开发者将已有的Java代码转换为Python语言。这种转换对于那些熟悉Java但希望进入Python生态系统,或者想要利用Python特定...
1. Java教程是为Python程序员准备的,目的是帮助已经熟练使用Python的开发者快速学习Java语言,并迁移到Java编程环境上。 2. Java教程同样适合那些想掌握大数据基础技能的算法工程师,因为Java是处理大数据领域中...
Jython 是一个 Python 的 Java 实现,它允许你在 Java 平台上直接运行 Python 代码。通过 Jython,Java 可以直接调用 Python 类和模块,实现无缝集成。但要注意,Jython 不支持所有 Python 库,特别是 C 扩展的库。...
二分查找:分别使用Java和Python实现二分查找算法 二分查找:分别使用Java和Python实现二分查找算法 二分查找:分别使用Java和Python实现二分查找算法 二分查找:分别使用Java和Python实现二分查找算法 二分查找:...
java2python, 将Java源代码转换为 python的简单但有效的库 java2python简单而有效的工具将Java源代码转换为 python 。java2python包可以翻译任何语法有效的Java源代码文件。 生成的python 代码不能保证运行,也不...
例如,"Java调用Python脚本"是一个常见的需求,特别是在数据处理、科学计算或机器学习等场景中,Python的强大库可以与Java的稳定性和企业级应用能力相结合。本教程将详细讲解如何在Java程序中调用Python脚本。 首先...
基于Java和Python语言使用函数输出一个整数的逆序数.zip 基于Java和Python语言使用函数输出一个整数的逆序数.zip 基于Java和Python语言使用函数输出一个整数的逆序数.zip 基于Java和Python语言使用函数输出一个整数...
如果你需要在Java中调用Python 2.x和3.x的不同版本,可能需要寻找其他解决方案,比如使用JPyLib或其他第三方库。 JPyLib是一个Java与Python互操作的库,它允许Java代码直接调用Python函数,反之亦然。通过JPyLib,...
下面将详细阐述这一主题,包括相关的Java接口、jar包的使用方法以及如何在实际项目中实现Java调用Python。 首先,Java与Python的交互主要依赖于`Jython`和`Py4J`这两个库。Jython是一个Python的实现,它允许在Java...
java+python实现圣诞节雪花漫天飞舞java+python实现圣诞节雪花漫天飞舞java+python实现圣诞节雪花漫天飞舞java+python实现圣诞节雪花漫天飞舞这个项目是使用Java和Python编写的一个圣诞节主题的雪花飘舞特效。...
在这个"thrift的java和python结合例子"中,我们将探讨如何使用Thrift在Java和Python之间建立通信。 首先,Thrift通过定义接口描述文件(.thrift)来规范服务的接口。这个文件使用Thrift IDL(Interface Description...
模拟退火算法的实现:分别使用Java和Python实现模拟退火算法的编程.zip 模拟退火算法的实现:分别使用Java和Python实现模拟退火算法的编程.zip 模拟退火算法的实现:分别使用Java和Python实现模拟退火算法的编程.zip...
冒泡排序:应用Java和Python实现冒泡排序算法 冒泡排序:应用Java和Python实现冒泡排序算法 冒泡排序:应用Java和Python实现冒泡排序算法 冒泡排序:应用Java和Python实现冒泡排序算法 冒泡排序:应用Java和Python...
综上所述,通过Java调用Python命令执行DataX任务是一种灵活且高效的方式,能够充分利用Java的工程化能力和DataX的数据迁移能力。在进行这样的跨语言协作时,需要注意命令行参数的正确传递,Python脚本的编写,以及...
【标题】"selenium+java+python自动化测试" 涉及到的是使用Selenium这一强大的Web自动化测试工具,结合Java和Python两种编程语言进行网页自动化测试的方法和实践。Selenium是一个开源的测试框架,它允许开发人员模拟...
堆排序:应用Java和Python分别实现堆排序算法; 堆排序:应用Java和Python分别实现堆排序算法; 堆排序:应用Java和Python分别实现堆排序算法; 堆排序:应用Java和Python分别实现堆排序算法; 堆排序:应用Java和...
这段Java代码首先创建了一个`PythonInterpreter`实例,然后使用`execfile`方法加载了`addition.py`文件。接着,通过`get`方法获取了Python的`add`函数,并使用`__call__`方法调用该函数,传入两个`PyInteger`对象...
Jython是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的完全实现。Jython也有很多从CPython中继承的模块库。最有趣的事情是Jython不像CPython或其他任何高级语言,它...