RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1606031
Accepted
Александр
Александр
Asked:2025-02-01 02:34:57 +0000 UTC2025-02-01 02:34:57 +0000 UTC 2025-02-01 02:34:57 +0000 UTC

Python if 条件[关闭]

  • 772
关闭。这个问题与主题无关。目前不接受对此问题的答复。

该问题是由无法再重现的问题或打字错误引起的。尽管类似的问题可能适合在此网站上提出,但该问题的解决方案不太可能对未来的访问者有所帮助。通常,您可以在发布问题之前编写并测试一个最小程序来重现问题,从而避免此类问题。

昨天休息。

改进问题
s = ""
input(s)
if s == "":
    print("Пусто")
else:
    print("End")

为什么这个设计不起作用?
输出始终为“空”

python
  • 4 4 个回答
  • 131 Views

4 个回答

  • Voted
  1. Amgarak
    2025-02-01T03:03:14Z2025-02-01T03:03:14Z
    s = ""
    input(s)
    if s == "":
        print("Пусто")
    else:
        print("End")
    

    如果你打开input()文档,世界将变得更加简单:

    句法:

    • 输入(提示)

    参数:

    • prompt-提示字符串。

    返回值:

    • 字符串str,即使输入的是数值。

    您将参数s传递给函数作为应在屏幕上显示的提示。在这种情况下,变量s的值不会被覆盖。

    input()返回用户输入的值,不需要将其保存回s变量。因此s的值始终为空。

    简单来说,s最初为空,在调用输入后它保持为空,因为输入结果未分配给变量s,并且条件if s == ""始终为True

    s = input()  # Вот тут и нужно сохранить ввод в s
    if s == "":
        print("Пусто")
    else:
        print("End")
    
    • 6
  2. hexique
    2025-02-03T19:11:20Z2025-02-03T19:11:20Z

    因为你没有将输入保存到特定的变量中,并且代码会检查变量是否为s空,而字符串input(s)只是输出一个空字符串

    修正代码:

    s = input()
    if s == "":
        print("Пусто")
    else:
        print("End")
    
    • 1
  3. Best Answer
    Fox Fox
    2025-02-01T02:38:35Z2025-02-01T02:38:35Z
    s = input("Введите значение: ")
    if not s: print("Пусто!")
    else: print("Конец!")
    
    • 0
  4. Pak Uula
    2025-02-01T04:02:58Z2025-02-01T04:02:58Z

    这不是一个答案,而是一个洪水和题外话)

    我向几位人工智能助手询问了你的问题。

    全部的:

    • Gemini 1.5 给出了一些疯狂的解释,但修复的代码有效。更糟糕的是,他在两页文本中插入了大量不必要的内容。
    • Gemini 2.0 Preview 和 GPT 4o 用俄语给出了合理的解释和正确的修复,
    • Claude 3.5 Sonnet(预览)理解了俄语问题,并用英语回答。答案正确,修正也正确。

    Google 双子座 1.5

    让我们弄清楚为什么你的 Python 构造总是返回“Empty”以及如何修复它。

    问题:

    问题是 Python 中的 input() 将用户输入读取为字符串。即使用户没有输入任何内容,input() 也会返回空字符串“”而不是空值 None。

    因此,条件if s == ""始终为真,因为 input() 始终返回一个字符串,即使它为空。

    解决方案:

    为了使您的设计正常工作,您需要检查用户是否实际输入了某些内容。以下是一些方法:

    1. 检查空字符串:

    您已经使用过这种方法,如果您需要区分用户未输入任何内容的情况和输入空字符串的情况,这种方法很合适。

    Python

    s = input()  # Считываем ввод пользователя
    
    if s == "":
        print("Пусто")
    else:
        print("End")
    
    1. 检查是否为无(如果预期为数字):

    ... 然后进行了关于如何检查 None、0、空格字符串的冗长的讨论......我们看到的主要是一个推理错误。

    Google Gemini 2.0

    让我们弄清楚为什么你的 Python 构造总是输出“Empty”以及如何修复它。

    问题:

    问题在于如何使用该功能input()。该功能input()旨在接收来自用户的输入。当您调用时input(s),您将变量的当前值s(在本例中为空字符串"")作为参数传递。该值将作为提示显示给用户。但是,用户输入的值 不会直接分配给变量s。

    input() 函数返回用户输入的值。需要将此返回值分配给变量才能改变它。

    解决方案:

    为了使您的构造正常工作,您需要将函数的结果分配input()给变量s:

    s = input()  # Получаем ввод от пользователя и присваиваем его s
    
    if s == "":
        print("Пусто")
    else:
        print("End")
    

    道理正确,药方正确。

    4o 级

    该构造不起作用,因为 input() 函数需要用户的输入并且不使用传递的参数。相反,您应该使用不带参数的 input() 并将结果分配给变量 s。

    以下是更正后的代码:

    s = input()
    if s == "":
        print("Пусто")
    else:
        print("End")
    

    道理正确,药方正确。

    克劳德 3.5 十四行诗(预览)

    让我解释一下这个问题并提供解决方案:

    修复代码的步骤:

    1. 问题是input(s)它没有将用户输入存储在变量 s 中
    2. 传递给的字符串input()只是用作提示消息
    3. 我们需要将结果赋值input()给变量s

    原始代码的主要问题是input(s)它没有修改变量s。相反,input()将用户的输入作为字符串返回,需要将其分配给变量。这就是为什么原始代码总是被评估s为空字符串,导致"Пусто"每次都被打印。

    s = input()  # or s = input("Enter a string: ") if you want a prompt
    if s == "":
        print("Пусто")
    else:
        print("End")
    

    道理正确,药方正确。还有一项福利——input()提供带有提示的选项。我理解俄语的问题,但用英语回答。

    • 0

相关问题

  • 是否可以以某种方式自定义 QTabWidget?

  • telebot.anihelper.ApiException 错误

  • Python。检查一个数字是否是 3 的幂。输出 无

  • 解析多个响应

  • 交换两个数组的元素,以便它们的新内容也反转

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5