【问题标题】:Python comparison if statement not working [duplicate]Python比较if语句不起作用[重复]
【发布时间】:2024-05-29 21:55:02
【问题描述】:

我只是在用 Python 做一个简单的猜测程序。我的 if 语句中的代码永远不会运行,我不知道为什么。我已经尝试在最后打印这两个变量,即使它们相同,比较也永远不会解析为真。我也尝试将 y 设置为 2 并猜测 2 作为输入,但它仍然不起作用。

import random

x = input("Guess a number 1 or 2: ")

y = random.randint(1,2)

if x==y:  
    print("yes")

【问题讨论】:

  • x = int(input(...)).
  • 您正在将字符串与整数进行比较。
  • 请检查 x 和 y 的类型

标签: python if-statement operators


【解决方案1】:

这里的问题是x 是一个字符串,而y 是一个int

x = input("Try a number ")  # I chose 4 here

x
'4'

x == 4
False

int(x) == 4
True

input 将始终返回一个字符串,您可以使用 int() 文字函数将该字符串转换为所需的值

【讨论】:

  • 谢谢大家。我对不必声明变量类型的想法很陌生,我想有时需要强制转换来提供帮助。
  • 如有疑问,可以使用type(x)查看x是什么类型