quiz = [116, 66, 85, 81, 93, 120, 81, 83, 91]
for i in range(len(quiz)):
quiz[i] ^= 0x30
#这一步没看懂,是初始化quiz吗?
quiz = ''.join([chr(_) for _ in quiz])
#这里应该是将ASCII替换成了字母后存入quiz变量,但是不理解是怎么实现的
answer = input()
if answer == quiz:
print("Welcome Hackers :)")
else:
print("No No :/")
如果知道请帮助一下,谢谢
# ^ 是按位异或
# 可以算一种加密方法
for i in range(len(quiz)):
quiz[i] ^= 0x30
#这一步是对quiz的元素,逐个与0x30 按位异或
# 两次异或恢复原数据。
quiz = [116, 66, 85, 81, 93, 120, 81, 83, 91]
print(quiz)
for i in range(len(quiz)):
quiz[i] ^= 0x30
print(quiz)
for i in range(len(quiz)):
quiz[i] ^= 0x30
print(quiz)
至于这句
分开理解
quiz = ''.join([chr(_) for _ in quiz])
# 把ASCII 变成字符
q1 = [chr(_) for _ in quiz]
print(q1)
# 把列表变成字符串
q2 = ''.join(q1)
print(q2)