更改 if 状态中的等效值

An Yan

这是我的代码:

com=input('> ')
while True:
    if com=='say':
        print('1')
        com=input('> ')
    if com=='change':
        global change_com
        change_com=input('changeing_say_to: ')
        change_com='say'
        com=input('> ')

我想要的结果是,在 之后change_com=input('changeing_say_to: ')change_com变成了除了say, like之外东西NAME然后再次当我给NAME而不是say给 的值时com,它会进入if com=='say'状态。我怎样才能做到这一点?

这是目标:

        > say
        1
        > change
        changeing_say_to: NAME
        > NAME
        1
帕特里克·阿特纳

您可以与当前值进行比较change_com而不是硬编码say- 并将嵌套的 -input("> ")调用移动到 while 循环的开头。还提供了一种离开循环的方法(在 Ctrl-C 旁边):

change_com = "say"

while True:
    com = input('> ')
    if com == change_com:
        print('1')
    elif com == 'change':
        change_com = input('changing {} to: '.format(change_com))
    elif com == "break":
        break

您可以使用字符串格式参数来调整您的消息,使其与当前位于change_com.

str.format(..)

输出:

> say
1
> say
1
> change
changing say to: tut
> tut
1
> tut
1
> change
changing tut to: lol
> lol
1
> break

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章