gpt4 book ai didi

python - 无法弄清楚 Python 中的 if/else 语法

转载 作者:行者123 更新时间:2023-11-28 21:13:24 27 4
gpt4 key购买 nike

我决定学习如何编程,因为这是大家最先推荐的,所以我开始学习 Python。我已经了解了我认为的基础知识,最近弄清楚了 if/else 语句。我想作为一个小挑战,我可能会尝试应用我学到的大部分东西,并编写一个可以做某事的小程序。因此,我正在尝试制作一个脚本,该脚本可以读取文件或查找文件中是否有特定单词,从而为用户提供选择。这是我编写的代码,但无法正常工作。

print "Hello, would you like to read a file or find  whether or not some text is in a file?"
choice = raw_input("Type 'read' or 'find' here --> ")

if choice == "read":
readname = raw_input("Type the filename of the file you want to read here -->"
print open(readname).read()
elif choice == "find":
word = raw_input("Type the word you want to find here --> ")
findname = raw_input("Type the filename of the file you want to search here --> ")
if word in open(findname).read():
print "The word %r IS in the file %r" % (word, filename)
else:
print "The word %r IS NOT in the file %r" % (word, filename)
else:
print "Sorry, don't understand that."

我是个彻头彻尾的清洁工,您可能可以通过查看代码来判断这一点,但无论如何,我们将不胜感激。首先,Python 在 print 上给我一个语法错误。当我在它上面标出变量行时它没有给我错误,所以我想那里有问题,但我在互联网上找不到任何东西。另外,如果我像我说的那样标记出可变行,但在运行它时键入“find”(运行 elif 部分),我会收到一条错误消息,指出 findname 不是没有定义,但我找不到为什么它不会?无论如何,我确信它是显而易见的,但是嘿,我正在学习,如果你们中的任何人能告诉我为什么这段代码很糟糕,我很乐意 :)

最佳答案

除了其他答案指出的缺少括号外,您在这里也有问题:

findname = raw_input("Type the filename of the file you want to search here --> ")
if word in open(findname).read():
print "The word %r IS in the file %r" % (word, filename)
else:
print "The word %r IS NOT in the file %r" % (word, filename)

也就是说,您定义了findname,但稍后尝试使用尚未定义的filename

我还有一些您可能想要研究的建议:

  • 使用 flake8 之类的工具为您提供有关代码的建议(这将尝试帮助您确保您的代码符合 PEP8,即 Python 编码风格指南。虽然它不会捕获代码中的每一个错误。)
  • 尝试使用 IDE 对您的代码进行实时反馈。 There are many available ;我个人比较喜欢PyCharm .

这是 flake8 的输出示例:

$ flake8 orig.py
orig.py:1:80: E501 line too long (92 > 79 characters)
orig.py:5:80: E501 line too long (82 > 79 characters)
orig.py:6:10: E901 SyntaxError: invalid syntax
orig.py:9:80: E501 line too long (86 > 79 characters)
orig.py:16:1: W391 blank line at end of file
orig.py:17:1: E901 TokenError: EOF in multi-line statement

关于python - 无法弄清楚 Python 中的 if/else 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32857474/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com