You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中将密码的每个字符保存为独立变量?

密码猜测程序的字符比对优化方案

首先修正你代码里的关键问题:当前lower和upper列表仅包含一个拼接字符串,无法直接用于字符比对。建议改成单个字符组成的字符串(字符串本身可迭代,比列表更适合做成员判断):

# main.py
# 用字符串存储大小写字母,方便后续比对
lower = "abcdefghijklmnopqrstuvwxyz"
upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

关于你提到的「将密码字符保存为独立变量」的需求,其实完全没必要单独命名char1、char2这类变量,直接遍历密码的每个字符就能完成比对:

password = input("Please enter a password! ")
# 直接遍历密码的每个字符,无需额外存储
for char in password:
    if char in lower:
        print(f"字符 '{char}' 匹配小写字母")
    elif char in upper:
        print(f"字符 '{char}' 匹配大写字母")
    else:
        print(f"字符 '{char}' 不在大小写字母范围内")

如果一定要把所有字符单独存储,用列表即可(每个字符对应列表的独立元素),后续遍历列表处理:

password = input("Please enter a password! ")
# 把密码拆成单个字符的列表,每个元素就是独立的字符"变量"
password_chars = list(password)

# 遍历列表进行比对
for idx, char in enumerate(password_chars):
    if char in lower:
        print(f"第{idx+1}个字符 '{char}' 是小写字母")
    elif char in upper:
        print(f"第{idx+1}个字符 '{char}' 是大写字母")

核心逻辑:密码的每个字符可通过循环逐个获取,单独命名变量既冗余又无法适配不同长度的密码,用字符串或列表存储字符集合是更高效的方式。

内容的提问来源于stack exchange,提问作者OwenSucksAtCoding

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 09:41:12