# 设计一个字符串加密程序
# 使用 ord()查看字符 Unicode 码
# 使用chr() 将 Unicode 码转为字符
# 流程
# ord('我') → 25105 + 1 → 25106 → chr(25016) → 戒
# 我 ← chr(25105) - 1 ← 25106 ← ord('戒')
text = input("请输入要加密的文字:")
secret = ''
for t in text:
secret += chr(ord(t) + 1)
print(f'经过加密后的内容为:{secret}')
# 解密代码
text1 = input("请输入要解密的文字:")
secret1 = ''
for t in text1:
secret1 += chr(ord(t) - 1)
print(f'经过解密后的内容为:{secret1}')
# while num1<=9:
# while num2 <= num1:
# print(f'{num1}*{num2} = {num1*num2}')
# num2 += 1
# num1 += 1
num1 = 1
while num1 <= 9:
num2 = 1
while num2 <= num1:
print(f'{num2}*{num1}={num1 * num2}', end=" ")
num2 += 1
print("\n")
num1 += 1
# 一共3个关卡(每个关卡只有一道题),答对进入下一关,3关都通过则挑战成功!
# 答错可重试,每道题都有3次回答机会,若3次均答错,则挑战失败,游戏自动结束。
# 如果用户输入为空,则提示重新作答,且不浪费回答机会。
# 如果用户输入字母q,则直接退出游戏。
print("游戏开始,输入q可随时退出")
# 题目与答案
ques1 = 'Python中用于输出的函数是:'
ans1 = 'print'
ques2 = 'Python中用于表示逻辑并且的关键字是:'
ans2 = 'and'
ques3 = 'Python属于编译型还是解释型:'
ans3 = '解释型'
# 最多可尝试次数
max_tries = 3
# 总关卡数
total_levels = 3
# 是否处于可游戏状态
is_playing = True
# 根据题目数量开始循环
for level in range(1, total_levels + 1):
# # 判断是否还有没有答题机会
# if not is_playing:
# print("已经没有答题机会")
# break
print(f'第{level}关')
# 取出当前关卡所对应的题目和答案
if level == 1:
question, answer = ques1, ans1
elif level == 2:
question, answer = ques2, ans2
elif level == 3:
question, answer = ques3, ans3
# 记录当前关卡的尝试次数
tries = 1
# 若已经尝试的次数,小于等于最大尝试次数,则进入循环
while tries <= max_tries:
# 向用户提问
user_input = input(question)
# 根据用户的输入,来决定做什么
if user_input == answer:
print("回答正确!\n")
break
elif user_input == "":
print("您的输入为空,请重新作答\n")
continue
elif user_input == "q":
print("您已退出游戏,恭喜解脱")
is_playing = False
break
else:
# 计算剩余次数
leave = max_tries - tries
if level > 0:
print(f"回答错误,您还剩下{leave}次")
tries += 1
continue
else:
print('错误')
is_playing = False
break
# 每次进入下一次以前判断
if not is_playing:
break