【问题标题】:While loop using strings and if statements使用字符串和 if 语句的 While 循环
【发布时间】:2021-06-13 02:40:41
【问题描述】:

python 程序提示: 5.16 LAB:密码修改器 许多用户创建的密码简单易猜。编写一个程序,该程序接受一个简单的密码,并通过使用下面的键替换字符并附加“!”来使其更强大到输入字符串的末尾。

我变成 1 一个变成@ 米变成米 B变成8 s 变成 $ 例如:如果输入是:

我的密码 输出是:

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

word = input()
password = ''
i = 0
while i < len(word):

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

【问题讨论】:

    标签: python list if-statement while-loop


    【解决方案1】:

    你做得很好。 While 循环的格式如下:

    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 语句,你可以试试这个:

    while i < len(word):
        if word[i] == 'i':
            password += '1'
        
        i += 1
    

    if 语句仅适用于您要更改的值,因此添加 else 语句作为默认值。

    while i < len(word):
        if word[i] == 'i':
            password += '1'
        else:
            password += word[i]
        
        i += 1
    

    现在,如果你收到一个普通的字母,比如h,它会将它添加到密码中。

    希望这可以帮助您入门!

    【讨论】:

    • 这很有帮助,我将其他 if 语句放在第一个格式相同但使用 elif 的下方。然后我在 i += 1 之后放了一条打印语句,说 print(password + '!') 但是当我使用密码作为输入时,输出只是 M@$$!
    • 你去。您还可以使用else: 作为正常值的默认值。祝你有美好的一天:)。
    • 我会在答案中解释:)。
    猜你喜欢
    • 2013-06-09
    • 2016-01-12
    • 2022-11-28
    • 2012-06-18
    • 2015-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-20
    相关资源
    最近更新 更多