要实现只打印一次 "由于替换字符出现冲突, 该密文无法解密!",您可以在需要打印的地方设置一个标志变量,然后根据标志变量的值来决定是否打印。
以下是修改后的代码示例:
- x = input("请输入需要加密的明文:")
- y = input("请输入需要替换的字符:")
- z = input("请输入将要替换的字符:")
- ylength = len(y)
- zlength = len(z)
- if ylength != zlength:
- print("需要替换的字符数量必须要跟将要替换的字符数量一致!")
- else:
- table = str.maketrans(y, z)
- print(x.translate(table))
- conflict_flag = False # 设置标志变量
- for i in y:
- if y.count(i) > 1:
- conflict_flag = True # 设置标志为True
- break
- if not conflict_flag: # 只有当标志为False时才打印
- for j in z:
- if z.count(j) > 1:
- conflict_flag = True # 设置标志为True
- break
- if conflict_flag:
- print("由于替换字符出现冲突, 该密文无法解密!")
复制代码
通过引入
conflict_flag 标志变量,我们在循环中设置标志为
True,如果标志在循环结束后仍然为
True,则打印"由于替换字符出现冲突, 该密文无法解密!"。
希望这可以帮到您!如果有任何进一步的问题,请随时提问。
如果问题已经解决,请设置最佳答案