当前位置: 首页 > 知识库问答 >
问题:

不使用字符串或浮点输入执行Else语句

南门飞扬
2023-03-14
num1 = int(input("Enter the first integer: "))
num2 = int(input("Enter the second integer: "))  

if (str(num1).isdigit()) and (str(num2).isdigit()):
    if num1>num2:
        print(num2, num1)
    else:
        print(num1, num2)
else:
    print("That is not an integer!")

我得到的错误:

ValueError:以10为基数的int()的文字无效:“2.2”

共有1个答案

丌官盛
2023-03-14

测试int是否由数字组成之前,您正在尝试转换为int。等到您完成了这个测试之后再进行转换。

num1 = input("Enter the first integer: ")  # keep it as a string for now
num2 = input("Enter the second integer: ")

if num1.isdigit() and num2.isdigit():
    num1 = int(num1)  # NOW convert to int
    num2 = int(num2)
    if num1>num2:
        print(num2, num1)
    else:
        print(num1, num2)
else:
    print("That is not an integer!")

顺便说一句,请注意您的ISDigit测试不适用于负整数。

 类似资料:
  • 嗨,我的代码有一些问题,我需要接受一个3行的输入,并计算输入中“$”的数量。输入方法未注释为“scanf(”%[]s“,&userinput);”是唯一一个我发现采取所有3行输入,但我不能打破输入循环继续我的程序。 任何帮助都将不胜感激

  • 问题内容: 这应该很容易:我想对文字字符串而不是输入文件运行 sed 。如果您想知道为什么,例如是编辑存储在变量中的值,而不必是文本数据。 当我做: 其中A,B,C是我要更改为A’,’B’,’C的文字 我懂了 好像它认为A,B,C是一个文件。 我试着用管道将其回显: 我得到提示。 正确的做法是什么? 问题答案: 您有单引号冲突,因此请使用: 如果使用bash,您也可以这样做(是): 但不是 因为期

  • rank ▲ ✰ vote url 33 526 73 660 url 把字符串解析成浮点数或者整数 在Python里,怎么样把一个数字型字符串像"545.2222"解析成对应的浮点值545.2222?或者把一个"31"解析成31? 我只是想知道怎么样才能解析一个浮点型字符串编程浮点数,或者整型字符串转换成整型? >>> a = "545.2222" >>> float(a) 545.222200

  • 我最近开始在业余时间学习java。所以为了练习,我制作了一个程序,可以测量温度(摄氏度或华氏度),并将其转换为相反的温度。我已经导入了键盘扫描仪。 我不熟悉字符串和之类的东西,程序只是跳过了用户输入部分,在那里输入C或F。有人能解释一下我能做些什么来解决这个问题吗? 谢谢!

  • 问题内容: 我如何显式告诉python使用点或逗号作为小数点分隔符来读取小数点?我不知道将运行我的脚本的PC的本地化设置,并且这不应该影响我的应用程序,我只想说: 要么 我认为写作 不安全,因为我不知道语言环境设置! 问题答案: 因为我不知道语言环境设置 您可以使用模块进行查找: 要么 使用该代码,您的代码可能变为: 更好的是,同一模块为您提供了一个转换功能: