- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想检查输入是否是数字,如果是,则将数字与另一个数字进行比较。
我尝试通过删除 int() 转换来解决一个问题。但这会使 x > 0 无用。
尝试在网上搜索,但没有简单的解决方案。
print("This program prints the sum of a range of numbers from x to y")
print("For example, if x is 10 and y is 50, the program will print the sum of numbers")
print("from 10 to 50")
x = int(input("Please enter the value of x: "))
y = int(input("Please enter the value of y: "))
if x.isnumeric() and y.isnumeric():
if x > 0 and y > 0:
print("Passed")
else:
print("failed")
else:
print("One or more of your inputs are not numeric!")
“int”对象没有“isnumeric”属性作为错误或者'str' 和 'int' 实例之间不支持 '>'
最佳答案
您的代码有一些问题。
str.isnumeric适用于字符串,但您尝试在整数上调用它,因此您会收到错误 'int' object has no attribute 'isnumeric'
作为错误
如果您不将 x 转换为 int
,并将其保留为 str
并尝试做x > 0 and y > 0
,您正在比较字符串和整数,这也是不可能的,因此错误 '>' not supported between instances of 'str' and 'int'
要解决此问题,您可以阅读 x
和y
作为字符串,然后在与 0 比较时将其转换为 int,如下所示。
print("This program prints the sum of a range of numbers from x to y")
print("For example, if x is 10 and y is 50, the program will print the sum of numbers")
print("from 10 to 50")
#Read x and y as strings
x = input("Please enter the value of x: ")
y = input("Please enter the value of y: ")
#Check if they are numeric
if x.isnumeric() and y.isnumeric():
#Convert them to int to compare them with 0
if int(x) > 0 and int(y) > 0:
print("Passed")
else:
print("failed")
else:
print("One or more of your inputs are not numeric!")
然后你的输出将如下所示
This program prints the sum of a range of numbers from x to y
For example, if x is 10 and y is 50, the program will print the sum of numbers
from 10 to 50
Please enter the value of x: 20
Please enter the value of y: 40
Passed
This program prints the sum of a range of numbers from x to y
For example, if x is 10 and y is 50, the program will print the sum of numbers
from 10 to 50
Please enter the value of x: 10
Please enter the value of y: 60
Passed
但是等等,这里发生了什么
This program prints the sum of a range of numbers from x to y
For example, if x is 10 and y is 50, the program will print the sum of numbers
from 10 to 50
Please enter the value of x: -20
Please enter the value of y: -40
One or more of your inputs are not numeric!
这里我要注意的是,这个逻辑不适用于负整数如下所示,isnumeric
对于负整数返回 False
In [1]: '-20'.isnumeric()
Out[1]: False
因此,更好的方法可能是尝试将字符串转换为 int,并在此基础上检查 x 是否为数字
print("This program prints the sum of a range of numbers from x to y")
print("For example, if x is 10 and y is 50, the program will print the sum of numbers")
print("from 10 to 50")
#Read x and y as strings
x = input("Please enter the value of x: ")
y = input("Please enter the value of y: ")
def is_number(s):
#If we can cast string to int, it is an int, else it is not
is_number = False
try:
int(s)
is_number = True
except ValueError:
pass
return is_number
#Check if they are numeric
if is_number(x) and is_number(y):
#Convert them to int to compare them with 0
if int(x) > 0 and int(y) > 0:
print("Passed")
else:
print("failed")
else:
print("One or more of your inputs are not numeric!")
现在代码也适用于负整数
This program prints the sum of a range of numbers from x to y
For example, if x is 10 and y is 50, the program will print the sum of numbers
from 10 to 50
Please enter the value of x: -20
Please enter the value of y: -40
failed
This program prints the sum of a range of numbers from x to y
For example, if x is 10 and y is 50, the program will print the sum of numbers
from 10 to 50
Please enter the value of x: hey
Please enter the value of y: hi
One or more of your inputs are not numeric!
关于python - 比较运算符与 isnumeric() 不兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55979735/
我有一个 id 为 EmpNum 的文本框。我不知道如何使用 jQuery 的 isNumeric 来检查该值是否为数字。 我尝试过: ('#.EmpNum').IsNumeric 但这没有用
我编写了一个函数,它根据输入单元格生成一个“分数”(1,0,-1),该单元格应该包含一个数字。但是,有时输入字段可能不是数字,然后该函数应返回输出“0”。 Function ScoreRoE(RoE_
是否可以使用 IsNumeric() 测试字符串并使其返回 true,但是当您使用 CInt() 将同一字符串转换为整数并将其分配给整数类型的变量时,它会给出类型不匹配错误吗? 我问是因为我遇到了类型
请解释为什么下面的代码行为随机 下面的代码行返回 TRUE什么时候应该返回 FALSE?Isnumeric("555-") 还 ?Isnumeric("555-"/2)返回 TRUE 请解释 IsNu
我正在编写一个 Javascript 函数来验证用户输入。条件是,数据至少要有一个数字。 var userName = "abcde200" function isNumeric(userName){
我正在尝试创建一个包含 3 个值的表单:姓名、体重和高度。我想强制用户只输入数字而不是字母,因此使用 isNumeric 可以,但仅适用于体重,不适用于高度。 这是当前代码 function isN
保留列是 varchar,为了对其执行求和,我想将其转换为 deciaml。但是下面的 SQL 给了我一个错误 select cast(Reserve as decimal) from MyReser
SELECT IsNumeric('472369326D4') 返回1。显然,字符串中有一个字母D。为什么? 最佳答案 472369326D4 是有效的 float 类型。 D4 被翻译为添加四个 0
我包含一个像这样的 jQuery 文件: 我有这样的代码: if($.isNumeric(now)) { alert("yes"); } else { alert("n
这个问题在这里已经有了答案: Validate decimal numbers in JavaScript - IsNumeric() (52 个答案) 关闭 8 年前。 我有一个代码可以从用户那里
在 MSSQL 中,我使用如下查询,它会根据我在 $search 中的内容进行不同的查询:文本或数字。 $query=" IF (isnumeric('$search'
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: How to identify if string contain a number? 在VB中有一个IsN
我在我的代码中使用 IsNumeric() 函数来验证数字。 IsNumeric(100) - 正确,IsNumeric(-100) - 正确,IsNumeric(+100) - 真, IsNumer
我有两列数据正在使用 VBA 进行清理。如果 A 列中的值是非数字或空白,我需要删除整行。以下是我尝试使用的数据示例和代码。如果 IsNumeric 返回 false,它似乎完全跳过了删除行的代码部分
我正在使用 SQL Server 2008 R2。当我执行以下查询时,ISNUMERIC 的计算结果为 true(1),而条码内部显然有“D”。 SELECT ISNUMERIC('72103001
我在经典 asp 失败中的 IsNumeric 函数有一个非常奇怪的问题。我的代码中会发生这样的事情: Response.write Score // 79.617 Re
SQL 检测到以下字符串 ISNUMERIC : '07213E71' 我相信这是因为“E”被归类为数学符号。 但是,我需要确保只有整数值才会返回为 True。 我该怎么做? 最佳答案 07213E7
我正在使用 visual studio 2008 开发适用于 windows CE 6.0 的紧凑型框架软件。 我有这个“奇怪的?” isNumeric 方法有问题。还有其他更好的方法来完成这项工作吗
我正在使用 Jquery 来检查某些内容是否为数字。如何检查它是否不是数字? if (IsNumeric($('#Amount').val())) { ..... 我放了一个!在 IsNum
$.isNumeric 之间有什么区别吗?和 !isNaN()? 我不知道他们会在哪里返回不同的结果。 最佳答案 来自 jQuery 博客: Inside jQuery we’ve found sev
我是一名优秀的程序员,十分优秀!