密码生成器输入问题

时间:2018-04-02 15:39:11

标签: python

我写了一个简单的密码生成器,但输入有问题。

例如,当运行密码(10)时,它运行得很好但是当我请求输入时,它似乎没有将输入注册为整数。

任何建议?

d

2 个答案:

答案 0 :(得分:1)

input()将始终返回一个字符串,即使它是一个数字字符串。

您需要使用int功能将其转换为int()。当输入无法转换为int时,下面的代码也会捕获。我们将其打包在while循环中,只要用户没有输入可以转换为str的{​​{1}},就会一直询问。

int

同时尝试查看某些内容为valid = False while not valid: try: x1 = int(x1) valid = True except ValueError: print('not an int') 的语句int是不是正确的方法。 x1 == int()只会返回0.而是像这样使用int()

isinstance()

当然,这是无关紧要的,因为if isinstance(your_var, int): <your code> 将始终返回一个字符串。

答案 1 :(得分:0)

在python 3 input()中返回一个字符串,如python 2&#39; s raw_input()来读取整数,只需int(input('some question'))