【问题标题】:Break if statement in python在python中打破if语句
【发布时间】:2018-10-16 14:13:16
【问题描述】:

我的 python 代码有误。有关于猜密码的小游戏。我想打破 if 语句并制作 else 语句(当我猜错字母时激活)。这是代码。返回和中断函数输出:“循环外的返回/中断函数”。请修改代码:D `

import time
print('Oto jest gra, w której musisz odgadnąć kod! Kod ma 4 litery!')
decyzja = input('Chcesz grać? T/N\n')
if decyzja == "t" or "T":
    one = input('Wpisz 1 litere\n')
    if one == "k":
        two = input('Wpisz 2 Litere\n')
        if two == "u":
            three = input('Wpisz 3 litere\n')
            if three == "b":
                four = input('Ostatnia!\n')
                if four == "a":
                    time.sleep(2)
                    print('Zgadles kod!!!')

`

【问题讨论】:

  • 使用循环重复重写相同的东西真的很糟糕
  • 我认为英语会影响到这一点,但我不可能知道这段代码应该做什么对不起。
  • 尽管它不是一个循环,但这样的事情会有所帮助。
  • 这段代码没有循环。您可以在此处使用while 循环,并在用户猜对了字符但真的不确定您要在这里实现什么时中断

标签: python loops


【解决方案1】:

试试这个(最好用函数):

import time

def numguess(myinput):
    if decyzja.lower() == "t":
        one = input('Wpisz 1 litere\n')
    else:
        return False

    if one == "k":
        two = input('Wpisz 2 Litere\n')
    else:
        return False

    if two == "u":
        three = input('Wpisz 3 litere\n')
    else:
        return False

    if three == "b":
        four = input('Ostatnia!\n')
    else:
        return False

    if four == "a":
        time.sleep(2)
        print('Zgadles kod!!!')
    else:
        return False

print('Oto jest gra, w której musisz odgadnąć kod! Kod ma 4 litery!')

decyzja = input('Chcesz grać? T/N\n')

numguess(decyzja)

【讨论】:

    【解决方案2】:

    我会这样设计模板

    for letter in "tkuba":
        user_input = input().lower()
        if user_input == letter:
            print("...")
        else:
            break
    

    【讨论】:

    • 但是……第一个字母是为了确认你想玩。我该怎么做才能获得大小角色的工作?
    • input().lower() 并且完整的字符串输入是小写的