GVKun编程网logo

如何检查python 2.7中的原始输入是否为整数?

4

在这里,我们将给大家分享关于如何检查python2.7中的原始输入是否为整数?的知识,同时也会涉及到如何更有效地bash判断一个输入是否为整数、inno-setup–如何检查变量是否为整数?、ipho

在这里,我们将给大家分享关于如何检查python 2.7中的原始输入是否为整数?的知识,同时也会涉及到如何更有效地bash判断一个输入是否为整数、inno-setup – 如何检查变量是否为整数?、iphone – ios如何检查除数余数是否为整数、php – 如何检查$_GET数组中的变量是否为整数?的内容。

本文目录一览:

如何检查python 2.7中的原始输入是否为整数?

如何检查python 2.7中的原始输入是否为整数?

有没有一种方法可以检查araw_input是否为整数?

我在网上研究后发现了这种方法:

print isinstance(raw_input("number: ")), int)

但是当我运行它并输入4例如时,我得到了FALSE。我是python的新手,将不胜感激。

答案1

小编典典

isinstance(raw_input("number: ")), int)总是产生,False因为raw_input返回字符串对象。

用途try: int(...) ... except ValueError

number = raw_input("number: ")try:    int(number)except ValueError:    print Falseelse:    print True

或使用str.isdigit

print raw_input("number: ").isdigit()

注意 第二个之所以产生False-4是因为它包含非数字字符。如果只需要数字,请使用第二个数字。

UPDATE
作为JF塞巴斯蒂安指出,str.isdigit语言环境相关(Windows)中。它可能返回,True甚至int()会引发输入的ValueError。

>>> import locale>>> locale.getpreferredencoding()''cp1252''>>> ''\xb2''.isdigit()  # SUPERSCRIPT TWOFalse>>> locale.setlocale(locale.LC_ALL, ''Danish'')''Danish_Denmark.1252''>>> ''\xb2''.isdigit()True>>> int(''\xb2'')Traceback (most recent call last):  File "<stdin>", line 1, in <module>ValueError: invalid literal for int() with base 10: ''\xb2''

bash判断一个输入是否为整数

bash判断一个输入是否为整数

下面是小编 jb51.cc 通过网络收集整理的代码片段。

小编小编现在分享给大家,也给大家做个参考。

#!/bin/bash

# 判断输入是否为整数
# File: isint.sh
# Auth: heiing
# Time: 2013-06-09 09:33

# 输入为空,返回 0
# 输入非整数,返回 0
# 输入整数,返回 1
function isint () {
    if [ $# -lt 1 ]; then
        return 0
    fi

    if [[ $1 =~ ^-?[1-9][0-9]*$ ]]; then
        return 1
    fi

    if [[ $1 =~ ^0$ ]]; then
        return 1
    fi

    return 0
}

isint $1
echo $?

以上是小编(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给程序员好友。

inno-setup – 如何检查变量是否为整数?

inno-setup – 如何检查变量是否为整数?

我正在使用Inno Setup并想要检查Pascal脚本,如果字符串变量是一个整数(仅0-9,没有十六进制).我做了这个功能:

function IsInt(s: string): boolean;
var
  i,len: Integer;
begin
  len := length(s);

  if len = 0 then
    result := false
  else
  begin
    result := true;
    for i := 1 to len do
    begin
      if not (s[i] in ['0'..'9']) then  !!! ERROR HERE !!!
      begin
        result := false;
        exit;
      end;
    end;
  end;
end;

但是编译器引发了一个错误:

Closing square bracket (']') expected.

怎么解决?

如果我将行更改为:

if not (s[i] in ['0','1','2','3','4','5','6','7','8','9']) then

它符合但如果代码被执行则会出现此错误:

Runtime Error - Invalid Type.

该怎么办?

解决方法

而不是使用集合,您可以只进行简单的范围测试,例如

IF (s[i] < '0') OR (s[i] > '9') THEN
   ...

iphone – ios如何检查除数余数是否为整数

iphone – ios如何检查除数余数是否为整数

你们中的任何人都知道如何检查除数余数是整数还是零?

if ( integer ( 3/2))

解决方法

您应该像这样使用模运算符

// a,b are ints
if ( a % b == 0) {
  // remainder 0
} else
{
  // b does not divide a evenly
}

php – 如何检查$_GET数组中的变量是否为整数?

php – 如何检查$_GET数组中的变量是否为整数?

我有一个这样的页面:

http://sitename/gallery.PHP?page=2

它底部有分页链接,我们可以浏览它们.每次点击页码时,它都会发送一个参数page = 1或page = 2的GET请求,依此类推……

当我从teh $_GET变量将这些值存储到$page时,它是一个字符串值.我可以使用(int)将它转换为整数,如下所示:

if(!empty($_GET['page'])){
       $page = (int)$_GET['page'];
       echo "Page Number: ".$page;
}

但是我怎样才能确保传递的值只是一个整数而不是其他废话?

解决方法

使用过滤器:

if (null !== ($page = filter_input(INPUT_GET,'page',FILTER_VALIDATE_INT,FILTER_NULL_ON_FAILURE))) {
    // $page is Now an integer
}

这还会检查变量是否同时出现在查询字符串中.如果要区分缺失和无效,则必须将最后一个参数留给filter_input():

$page = filter_input(INPUT_GET,FILTER_VALIDATE_INT);
// $page can be null (not present),false (present but not valid) or a valid integer

关于如何检查python 2.7中的原始输入是否为整数?的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于bash判断一个输入是否为整数、inno-setup – 如何检查变量是否为整数?、iphone – ios如何检查除数余数是否为整数、php – 如何检查$_GET数组中的变量是否为整数?等相关知识的信息别忘了在本站进行查找喔。

本文标签: