首页 > 解决方案 > 这是什么错误?以 10 为基数的 int() 的 ValueError 无效文字:''

问题描述

我的代码有错误。当我运行此代码并定义"email"时,Pycharm 指示错误。

ValueError: invalid literal for int() with base 10: 'mymail'
email = str(input("Define your email adress. "))
key_password = int(input("Define your password. "))

login = int(input("Input your email adress. "))
enter_password = int(input("Input your password. "))

if email == login and  key_password == enter_password:
    print("Welcome to your member space.")
elif email == login and  key_password != enter_password:
    print("Wrong password.")
elif email != login and  key_password == enter_password:
    print("Wrong email adress.")
else:
    print("Wrong email adress and password.")

标签: python

解决方案


我猜你的错误来自这里:

login = int(input("Input your email adress. "))

您试图将您的输入解释为int它可能是电子邮件地址的时间。也许您打算执行以下操作?

login = str(input("Input your email adress. "))

正如评论所指出的,str()这里是多余的,因为input()返回一个字符串。所以你可以这样做:

login = input("Input your email adress. ")

推荐阅读