Александр 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 个回答 Voted 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") hexique 2025-02-03T19:11:20Z2025-02-03T19:11:20Z 因为你没有将输入保存到特定的变量中,并且代码会检查变量是否为s空,而字符串input(s)只是输出一个空字符串 修正代码: s = input() if s == "": print("Пусто") else: print("End") Best Answer Fox Fox 2025-02-01T02:38:35Z2025-02-01T02:38:35Z s = input("Введите значение: ") if not s: print("Пусто!") else: print("Конец!") 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() 始终返回一个字符串,即使它为空。 解决方案: 为了使您的设计正常工作,您需要检查用户是否实际输入了某些内容。以下是一些方法: 检查空字符串: 您已经使用过这种方法,如果您需要区分用户未输入任何内容的情况和输入空字符串的情况,这种方法很合适。 Python s = input() # Считываем ввод пользователя if s == "": print("Пусто") else: print("End") 检查是否为无(如果预期为数字): ... 然后进行了关于如何检查 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 十四行诗(预览) 让我解释一下这个问题并提供解决方案: 修复代码的步骤: 问题是input(s)它没有将用户输入存储在变量 s 中 传递给的字符串input()只是用作提示消息 我们需要将结果赋值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()提供带有提示的选项。我理解俄语的问题,但用英语回答。
如果你打开input()文档,世界将变得更加简单:
句法:
参数:
返回值:
您将参数s传递给函数作为应在屏幕上显示的提示。在这种情况下,变量s的值不会被覆盖。
input()返回用户输入的值,不需要将其保存回s变量。因此s的值始终为空。
简单来说,s最初为空,在调用输入后它保持为空,因为输入结果未分配给变量s,并且条件
if s == ""始终为True因为你没有将输入保存到特定的变量中,并且代码会检查变量是否为
s空,而字符串input(s)只是输出一个空字符串修正代码:
这不是一个答案,而是一个洪水和题外话)
我向几位人工智能助手询问了你的问题。
全部的:
Google 双子座 1.5
让我们弄清楚为什么你的 Python 构造总是返回“Empty”以及如何修复它。
问题:
问题是 Python 中的 input() 将用户输入读取为字符串。即使用户没有输入任何内容,input() 也会返回空字符串“”而不是空值 None。
因此,条件
if s == ""始终为真,因为 input() 始终返回一个字符串,即使它为空。解决方案:
为了使您的设计正常工作,您需要检查用户是否实际输入了某些内容。以下是一些方法:
您已经使用过这种方法,如果您需要区分用户未输入任何内容的情况和输入空字符串的情况,这种方法很合适。
Python
... 然后进行了关于如何检查 None、0、空格字符串的冗长的讨论......我们看到的主要是一个推理错误。
Google Gemini 2.0
让我们弄清楚为什么你的 Python 构造总是输出“Empty”以及如何修复它。
问题:
问题在于如何使用该功能
input()。该功能input()旨在接收来自用户的输入。当您调用时input(s),您将变量的当前值s(在本例中为空字符串"")作为参数传递。该值将作为提示显示给用户。但是,用户输入的值 不会直接分配给变量s。input() 函数返回用户输入的值。需要将此返回值分配给变量才能改变它。
解决方案:
为了使您的构造正常工作,您需要将函数的结果分配
input()给变量s:道理正确,药方正确。
4o 级
该构造不起作用,因为 input() 函数需要用户的输入并且不使用传递的参数。相反,您应该使用不带参数的 input() 并将结果分配给变量 s。
以下是更正后的代码:
道理正确,药方正确。
克劳德 3.5 十四行诗(预览)
让我解释一下这个问题并提供解决方案:
修复代码的步骤:
input(s)它没有将用户输入存储在变量 s 中input()只是用作提示消息input()给变量s原始代码的主要问题是
input(s)它没有修改变量s。相反,input()将用户的输入作为字符串返回,需要将其分配给变量。这就是为什么原始代码总是被评估s为空字符串,导致"Пусто"每次都被打印。道理正确,药方正确。还有一项福利——
input()提供带有提示的选项。我理解俄语的问题,但用英语回答。