В то время как L oop с логическим значением приводит к ошибке времени выполнения - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь проверить, содержит ли строка s какие-либо буквенно-цифровые c символы, используя следующий код:

s = input()

bool1 = False

while bool1 == False:
     for i in list(s):
         bool1 = i.isalnum()
print(bool1)

Но это привело к ошибке времени выполнения.

Почему это происходит?

Ответы [ 2 ]

2 голосов
/ 16 июня 2020

Я запустил. ошибки не было. Какая польза от while l oop?

s = input()

bool1 = False

for i in s:
    if bool1 == True:
        break
    bool1 = i.isalnum()
print(bool1)
1 голос
/ 16 июня 2020

Ваш код не работает, если строка не содержит буквенно-цифровых символов c, потому что тогда у вас есть инфинитив while l oop. Вы должны использовать только одну л oop.

s = input()

bool1 = False

for i in s:
    if i.isalnum():
        bool1 = True
        break

print(bool1)
...