Python 使用字符串和if语句进行While循环

Python 使用字符串和if语句进行While循环,python,list,if-statement,while-loop,Python,List,If Statement,While Loop,提示输入python程序: 5.16实验室:密码修改器 许多用户创建的密码都很简单,很容易猜测。编写一个使用简单密码的程序,通过使用下面的键替换字符,并在输入字符串的末尾添加“!”来增强密码的强度 我变成了1 成为@ m变成了m B变成8 s变成$ 例如:如果输入为: 我的密码 输出为: 我的$$字! 提示:Python字符串是不可变的,但支持字符串连接。在给定的密码变量中存储并生成更强的密码。 到目前为止,我的代码是: word = input() password = '' i = 0 wh

提示输入python程序: 5.16实验室:密码修改器 许多用户创建的密码都很简单,很容易猜测。编写一个使用简单密码的程序,通过使用下面的键替换字符,并在输入字符串的末尾添加“!”来增强密码的强度

我变成了1 成为@ m变成了m B变成8 s变成$ 例如:如果输入为:

我的密码 输出为:

我的$$字! 提示:Python字符串是不可变的,但支持字符串连接。在给定的密码变量中存储并生成更强的密码。 到目前为止,我的代码是:

word = input()
password = ''
i = 0
while i < len(word):
word=input()
密码=“”
i=0
而我

我只是对使用while循环更改字符串中的某些字符感到困惑。我还尝试使用if语句。虽然循环对我来说很难理解。我不知道从哪里开始。

你做得很好。虽然循环具有以下格式:

while (condition) == True: 
    # do this
在您的情况下,您需要将
i+=1
放在循环的末尾,这样它就不会永远持续下去,如下所示:

while i < len(word):
    # your code here

    i += 1 # this adds 1 to i
           # so eventually it will be equal to the length of word, ending the loop
if语句只对要更改的值起作用,因此添加一个
else
语句作为默认值

while i < len(word):
    if word[i] == 'i':
        password += '1'
    else:
        password += word[i]
    
    i += 1
而我
现在,如果你得到一个普通的字母,比如
h
,它会将它添加到密码中


希望这能帮助你开始

这很有帮助,我将其他if语句放在第一个if语句的下面,格式相同,但使用elif。然后我在I+=1后面放了一个print语句,说print(password+'!'),但是当我使用password作为输入时,输出只是M@$$!好了。您还可以使用
else:
作为正常值的默认值。祝你今天愉快:)。我会在答案中解释:)。
while i < len(word):
    if word[i] == 'i':
        password += '1'
    else:
        password += word[i]
    
    i += 1