【问题标题】:Is there a way to compare a string in an IF statement while comparing integer inputs?有没有办法在比较整数输入时比较 IF 语句中的字符串?
【发布时间】:2019-11-04 23:29:09
【问题描述】:

(如果有我粗心忽略的解决方案,请提前抱歉。)

最近我偶然发现了一些看起来有些简单的东西,但我想不通。 它如下所示:如果我得到一个已转换为 int 的输入,一旦我初始化接收它的值(例如 number = int(input()))。然后我继续设置一个 if 语句,该语句具有比较输入是否等于数字的条件,是否还有一种方法可以设置比较数字是否等于字符串的条件?

我创建的一个小测试脚本示例用于进一步阐明这个问题:

numb_var = int(input("Test "))
if numb_var == 1 or numb_var == **str("test.")**
    print("Success")
else:
    print("Failure")

粗体部分是我尝试过的,最终导致了我稍后会解决的错误。

我尝试使用一些东西:

== str(test)

== "tes"

str(numb_var) == "test"

一切都无济于事。

错误都遵循“无效语法”

这真的不可能吗?

谢谢,先验格言。

【问题讨论】:

  • 您在该行的末尾缺少:。请正确格式化代码。突出显示它并按下{} 按钮让它显示得很好。另请注意,您只需要执行numb_var == "test."str() 是多余的。但它永远不会是 True,因为您要将 numb_var 转换为 int,而 "test." 不能是 int。

标签: python-3.x string int


【解决方案1】:

你可以这样做:

var = input("Test ")
numb_var = None
try:
    numb_var = int(var)
except ValueError as e:
    print('cannot be converted to an int ', e)
if numb_var == 1:
    print("Success")
elif var == 'test':
    print('Its a string')
else:
    print("Failure")

【讨论】:

    猜你喜欢
    • 2016-07-17
    • 1970-01-01
    • 2018-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-01
    • 2018-10-15
    相关资源
    最近更新 更多