Python - 检测字符并显示是否找到字符

时间:2017-03-01 15:55:36

标签: python python-3.x

我试图对我的程序进行编码,如果用户输入的只是1,或者输入包含1的整数,如2431所示,则会显示一条消息。我遇到的问题是程序不会背靠背地显示消息,就像用户输入两次一样。如果输入是3115,则程序不检测1,

   one = False  
   guess = input('Enter A Four Value Integer With Different Values Except for 1: ')
    while guess in (1,'1'):
        print('No ones are allowed')
        one = True
        break

3 个答案:

答案 0 :(得分:1)

这应该可以解决问题:

break

你有一个使用while循环的正确想法,但是因为你在最后放了input它只会做一次迭代。如评论中所述,如果条件不满足,{{1}}应该在循环中重新定义。

这里我们在循环之外初始化猜测,以便能够进入"循环。

答案 1 :(得分:0)

使用python' input函数,它的值为str类型。

所以你可以尝试这样:

if_1 = lambda :True if '1' in input('value?: ') else False
while if_1():
    print('No 1 is allowed!')
else:
    print('Great!')

答案 2 :(得分:0)

这是我能想到的最干净的解决方案:

while True:
    guess = input('Number with no 1s: ')
    if '1' in guess:
        print("No ones are allowed.")
    else:
        break

如果您不需要错误消息,可以稍微简化代码:

guess = '1'
while '1' in guess:
    guess = input('Number with no 1s: ')