请问为什么无法跳出while的循环?

Mal_Ganis 2016-03-18 11:05:50
A = input("plz enter 1st factor:")
while not isinstance(A,(int,float)) :
print(not isinstance(A,(int,float)))
A = input("plz re-enter a number:")
print(A)
print("pass")

本意是想判断A是否为一个数,但是无论是数还是字母都不会结束,求大神解答
...全文
191 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
vanchristin 2016-03-21
  • 打赏
  • 举报
回复
input 的输入类型总是str
panghuhu250 2016-03-18
  • 打赏
  • 举报
回复
你大概是用的python3, input总是返回输入的字符串, (相当于python2中的raw_input), 所以
while not isinstance(A,(int,float)) :
总是为真.
竹聿Simon 2016-03-18
  • 打赏
  • 举报
回复
你可以查一下raw_input() 与 input() 和区别。
你这个程序没问题,但是你要注意input()的输入方式:


输入1和"1",结果是不一样的。

你还可以试一下如果改成raw_input() 会怎么样。
Mal_Ganis 2016-03-18
  • 打赏
  • 举报
回复
我用type(A)发现所有的输入都是str类型,是不是input会把所有输入变为str?

37,737

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧