python的input()能否基于给定的参数返回布尔值?

2024-04-20 01:16:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试设置一些控制逻辑,如果可以让input()根据用户的输入返回一个布尔值,这将非常有用。input()是否已经比较了一个值与另一个值的内在工作方式

我可以想象,如果input()没有布尔返回特性,我必须根据它已经做的事情编写一个函数

到目前为止,我的代码由while循环组成。它有一个退出条件,我需要更具体地使用。我从下面漏掉了

str = "original"
while True:
    print(str)
    time.sleep(1)
    str = "changed"
    if str == "changed":
        changed = True

实际结果:

original
changed
changed
changed
changed

在某种程度上,这个循环应该只打印出用户给input()的内容,每个print语句之间有一个时间延迟,但我在这里所做的不使用input,只在键盘中断的情况下退出

我不知道要完成这段代码需要先解决哪些问题:使while循环的出口独立于键盘中断或用户输入的处理


Tags: 代码用户trueinput方式特性逻辑键盘
2条回答
 import time

    s = "original"
    changed = False
    while not changed:
       time.sleep(1)
       sprev = s
       s = input("> ")
       if s != sprev:
           changed = True

不,input()总是返回一个字符串

但是你可以把这个字符串和另一个字符串进行比较

s = "original"
changed = False
while not changed:
    print(s)
    time.sleep(1)
    s = input("> ")
    if s == "changed":
        changed = True

print('s = {}'.format(s))

注意:str是一个内置的python类。不要将变量命名为相同的名称

相关问题 更多 >