这是我的代码:
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
以外的东西,例如NAME
,然后当我给出NAME
而不是将say
设为com
的值,它将进入if com=='say'
状态。我该怎么办?
这里是目标:
> say
1
> change
changeing_say_to: NAME
> NAME
1
答案 0 :(得分:1)
这是一种解决方案:
value='say'
while True:
com = input('> ')
if com == value:
print('1')
elif com == 'change':
value=input('changeing_say_to: ')
答案 1 :(得分: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
中当前位于的内容匹配。
输出:
> say
1
> say
1
> change
changing say to: tut
> tut
1
> tut
1
> change
changing tut to: lol
> lol
1
> break