铜锁密码Java/Python实现
学习记录
前言

提示:此题摘录《犯罪大师关卡题目》

一、Java实现方式
伪代码如下:
public class CodedLock {
/*密码锁字体*/
final String[] objsStrings = {"由", "中", "人", "十", "大", "王", "夫", "井"};
/*十二地支与十二生肖一对一得方式*/
final String[] earthlyBranch = {"子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"};
final String[] zodiac = {"鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊", "猴", "鸡", "狗", "猪"};
public String mainBodyOfTheProgram(String[] strings) {
if (strings.length > objsStrings.length) {
return "数据异常";
}
String result = "";
for (String s : strings) {
result += objsStrings[elementIndex(zodiac, s)];
}
return result;
}
/*
* TODO 获取下标
* */
public int elementIndex(String[] ints, String value) {
for (int i = 0; i < ints.length; i++) {
if (Objects.equals(ints[i], value)) {
return i;
}
}
return -1;
}
public static void main(String[] args) {
/*锁上生肖画*/
String[] strings = {"龙", "虎", "马", "兔"};
CodedLock codedLock = new CodedLock();
String result = codedLock.mainBodyOfTheProgram(strings);
System.out.println(result);
}
二、Python实现
伪代码如下:
def mainBodyOfTheProgram(data):
list = ("鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊", "猴", "鸡", "狗", "猪")
objsStrings = ["由", "中", "人", "十", "大", "王", "夫", "井"]
result = ""
if len(data) > len(objsStrings):
return
for f in data:
for index, value in enumerate(list):
if f == value:
result += objsStrings[index]
return result
objects = ["龙", "虎", "马", "兔"]
if __name__ == "__main__":
print("密码是: %s " % mainBodyOfTheProgram(objects))
总结
学习记录

本文记录了铜锁密码的Java和Python两种实现方式,分别给出了伪代码,适合学习者参考。
2519

被折叠的 条评论
为什么被折叠?



