如何采用不同的输入类型并做各自不同的事情? Python 3.5

时间:2015-11-09 02:41:16

标签: python python-3.x reddit praw

所以我试图制作一个Reddit机器人供个人使用,作为一个学习项目,我无法为输入添加错误异常。

以下是完整的源代码:http://pastebin.com/DYiun1ux

这里唯一有问题的部分是

 while True:
 if type(thing_limit) == int:
     print("That is a number, thanks.")
     break
 elif type(thing_limit) == float:
     print("You need a whole number.")
     sys.exit()
 elif type(thing_limit) == str:
     print("You need a whole number.")
     sys.exit()
 else:
     print("That is a number, thanks.")
     break

我不确定如何确保我输入的用户名有效。谢谢!

3 个答案:

答案 0 :(得分:6)

$('#image_list a').on('click', function(){ var imageURL = $(this).attr("href"); var caption = $(this).attr("title"); $('#gallery img').slideUp( "slow", function() { $("#image").attr("src", imageURL); $("#caption").text(caption); $('#gallery img').slideUp( "slow" ); }); return false; }); 总是返回一个字符串。您最好的选择是尝试将结果转换为整数。

input

答案 1 :(得分:0)

python中的每个输入都将作为字符串读取,因此检查类型将始终返回一个字符串。如果要检查输入的有效性,请声明一个包含

的字符串
charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-_"

然后迭代你的字符串以查看该字母是否在字符集中。如果不是,那么输入无效。还要确保输入不超过20个字符。

答案 2 :(得分:0)

reddit源代码defines一个有效的用户名,其中包含至少3个字符,不超过20个字符,并且与正则表达式\A[\w-]+\Z匹配。