铜锁密码Java/Python实现

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

铜锁密码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))


总结

学习记录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值