入门Python两周的高中生:问询十六进制转字符及隐藏式列表.append实现
实现十六进制转字符的循环程序(带隐藏列表与查看功能)
Hey there! 既然你才接触Python两周,咱们一步步拆解需求,写个简洁易懂的代码,完全贴合你的要求:
# 初始化存储字符的列表,平时默认不显示(只在你主动触发时展示) char_list = [] print("欢迎用十六进制转字符工具!") print("输入十六进制数(比如61)转成字符,输入'view'看当前字符序列,输入'q'退出程序\n") while True: user_input = input("请输入:").strip() # 处理退出命令 if user_input.lower() == 'q': print("\n程序结束啦!最后看一下字符序列:") print(''.join(char_list)) # 把列表里的字符拼成单行字符串展示 break # 处理查看命令 elif user_input.lower() == 'view': print("当前字符序列:", ''.join(char_list)) continue # 处理十六进制转换逻辑 try: # 先把十六进制字符串转成十进制整数,再转成对应ASCII字符 target_char = chr(int(user_input, 16)) char_list.append(target_char) print(f"已转换并添加字符:{target_char}") except ValueError: print("输入不对哦!请输有效的十六进制数,或者输'view'查看、'q'退出")
代码细节说明:
- 列表隐藏逻辑:平时不会主动打印
char_list,只有你输入view或者退出程序时,才用''.join(char_list)把列表转成单行的连续字符展示,完美实现“默认隐藏”的需求。 - 十六进制转字符:
int(user_input, 16)能把像61这样的十六进制字符串转成十进制整数97,再用chr()函数转成对应的字符a。 - 防崩溃处理:用
try-except接住无效输入(比如输了字母z或者乱码),程序不会直接崩,还会给你友好提示。 - 循环控制:
while True实现无限循环,直到你输入q才退出,退出前还会自动展示最终的字符序列。
运行示例:
欢迎用十六进制转字符工具! 输入十六进制数(比如61)转成字符,输入'view'看当前字符序列,输入'q'退出程序 请输入:48 已转换并添加字符:H 请输入:49 已转换并添加字符:I 请输入:20 已转换并添加字符: 请输入:57 已转换并添加字符:W 请输入:41 已转换并添加字符:A 请输入:view 当前字符序列: HI WA 请输入:q 程序结束啦!最后看一下字符序列: HI WA
这样的代码既满足所有需求,又容易理解,适合刚入门的你~
内容的提问来源于stack exchange,提问作者End Globalism
相关产品推荐
相关产品推荐

