Python:输入要转换的值时,以10为基数的int()的文本无效

Python:输入要转换的值时,以10为基数的int()的文本无效,python,type-conversion,integer,user-input,invalidoperationexception,Python,Type Conversion,Integer,User Input,Invalidoperationexception,这是我的代码,问题来自我的代码的第四块,第一行和第二行,我尝试了备选方案,上面提到了英文代码,并附上了错误图片。 这是学校的作业,我不明白问题的原因。该代码非常简单易懂,如果您需要任何进一步的信息,我会尽快回答我看到的消息 谢谢你花时间帮我找到解决办法, 真诚地 鲁巴 我终于找到了解决方案,这是我犯的错误,代码运行得非常好。但我保留这篇帖子,以防一些新手犯同样的错误,答案在评论中 ################################# # Ex5 : Autorisa

这是我的代码,问题来自我的代码的第四块,第一行和第二行,我尝试了备选方案,上面提到了英文代码,并附上了错误图片。 这是学校的作业,我不明白问题的原因。该代码非常简单易懂,如果您需要任何进一步的信息,我会尽快回答我看到的消息

谢谢你花时间帮我找到解决办法, 真诚地 鲁巴

我终于找到了解决方案,这是我犯的错误,代码运行得非常好。但我保留这篇帖子,以防一些新手犯同样的错误,答案在评论中

    #################################
    # Ex5 : Autorisation d’accès
    # 20205793 
    # Créé le 09/03/2021
    #################################
id_saisi=输入(“标识:”)


此错误意味着字符串中至少有一个字符不是数字,并且字符串无法转换为int或float

两种简单的验证方法是捕获强制转换引发的异常,或者检查输入是否都是数字

异常捕获:

try:
    id_saisi=int(id_saisi[12:])
except ValueError:
    print ('input is not a number')
isdigit:

if id_saisi[12:].isdigit():
    id_saisi=int(id_saisi[12:])
else:
    print ('input is not a number')

我认为错误不在字符串转换中。只需将
id_saisi
pass_saisi
转换为int原样,并将if-else语句中的
&
更改为
是,但这不是我需要做的,我只需要取这些变量的数字部分,就可以将它们与作为函数参数输入的有效值进行比较。所以我在寻找一种方法,只剥离用户输入的部分,这是数字部分,但由于参数是整数,我必须转换输入,以便能够将其与函数的参数进行比较。由于这是一项任务,程序的结构不是很灵活,我必须按照特定的步骤达到特定的目标,但只要我按照步骤进行,结构是可选的。我明白了,所以简而言之,输入需要去掉任何非数字的东西?你可以使用正则表达式吗?还有,哪几行是唯一允许修改的部分?哦,不,这不是练习的主要目标,目标很简单,但我甚至不知道如何正确使用输入()的括号内的“Identifiant”,这让我的生活变得复杂。这就是导致我犯错误的原因。我不知道变量中实际存储的值只是用户的输入。谢谢你的帮助!!!我不得不想出解决办法,但我的问题和你的回答让我意识到我的错误,谢谢你,真的。没问题,当有疑问时,只要在你看到错误的地方打印输出就行了。祝你在练习中好运哦,实际上输入不是数字,而是一个空变量。非常感谢你,萨尔曼先生。我刚刚发现问题实际上是我认为变量id_saisi的值是“Identifiant:user input”,而它只是用户的输入。所以从一开始我就错了,我应该像Jsandesu说的那样转换变量,谢谢你们。
if id_saisi[12:].isdigit():
    id_saisi=int(id_saisi[12:])
else:
    print ('input is not a number')