Python循环修改字符串字符实现密码强化的问题排查
问题定位
你代码的核心错误是password变量初始值写错了:password = ()定义的是空元组,并非空字符串。字符串拼接要求参与运算的两边都是字符串类型,初始类型错误直接导致你的替换逻辑没有按预期生效。你写的单字符遍历、匹配'i'替换的逻辑本身没有问题。
修复&补全方案
按以下步骤调整即可满足全部作业要求:
- 将
password初始值改为空字符串'',作为后续拼接构建强密码的基础容器 - 在现有判断逻辑后,追加剩余4条字符替换的分支判断,匹配对应字符时拼接替换后的内容
- 所有字符遍历替换完成后,在密码末尾拼接要求的后缀
"!"
完整可运行代码
word = input() password = '' for letter in word: if letter == 'i': password += '1' elif letter == 'a': password += '@' elif letter == 'm': password += 'M' elif letter == 'B': password += '8' elif letter == 's': password += '$' else: password += letter password += '!' print(password)
测试验证
- 输入示例值
mypassword,运行输出Myp@$$word!,和题目要求的示例结果完全一致 - 输入你测试用的
igigigig,运行输出1g1g1g1g!,可以正确把'i'替换为'1'
内容的提问来源于stack exchange,提问作者Matt P
相关产品推荐
相关产品推荐

