недопустимый литерал для int () с основанием 10: '', если указан пустой ввод - PullRequest
0 голосов
/ 28 июня 2018

код ниже дает мне ValueError, когда ввод оставлен пустым

U = find_lastuid()   # Return variable from other function
uidnum = int(raw_input("What is uid number? (default is: %s)" % U))
if not uidnum:
    print("defualt uid is used: %s" % uidnum)
else:
    print("UID is %s" % uidnum)


uidnum = int(raw_input("What is uid number? (default is: %s)" % U))
ValueError: invalid literal for int() with base 10: ''

Может кто-нибудь сказать, что не так с этим кодом? Я вижу похожие работы кода в REPL

>>> id = 234
>>> a = raw_input("Enter id")
Enter id
>>> if not id:
...     print(id is blank)
... else:
...     print(id)
...
234

1 Ответ

0 голосов
/ 28 июня 2018

Это потому, что вы не можете преобразовать пустой string в int, что вы можете сделать, однако используйте для этого блок try и except:

try:
    uidnum = int(raw_input("Enter uid:"))
except ValueError:
    print("Please enter a number!")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...