您正在阅读一位不熟悉的作者的书,并对他们可能来自哪个国家感到好奇。您决定编写一个程序,以帮助您根据书中单词的拼写进行猜测。
编写一个读取单词(例如颜色或颜色)的程序,并检查它是否出现在文件book.txt中,在书中找到了打印输出。或者没有在书中找到..
例如,给定book.txt文件:
假设?她怎么会形成一个 假设,她甚至不知道什么 其余的数据看起来像?
问题在于,无论我尝试过什么,我都无法让我的代码忽略这个词的情况。提供的输入字将始终为小写,但您的程序应以不区分大小写的方式匹配。
我的代码:
word = input("Word to look for: ")
with open('book.txt') as f:
if word in f:
print(word,"was found in the book.")
else:
print(word,"was not found in the book.")
预期产出:
Word to look for: hypothesize
hypothesize was found in the book.
请保持尽可能简单。我仍在通过在线程序学习,该程序不允许导入未内置的模块。
答案 0 :(得分:2)
你可以尝试:
word = input("Word to look for: ")
word_lower = word.lower()
with open('book.txt', 'r') as fh:
data = fh.read().lower()
if word_lower in data:
print(word,"was found in the book.")
else:
print(word,"was not found in the book.")
我只强制word
和data
(文件的内容)为小写.lower()
,因此它不会区分大小写。
我没有直接更新word
,而是将降低的字符串存储在另一个变量(word_lower
)中,以便准确打印输入的用户。
答案 1 :(得分:0)
您可以迭代文件中的单词并将每个单词小写以进行比较:
wordToMatch = input("Word to look for: ")
with open('book.txt') as f:
for line in f:
for word in line.split() :
if word.lower() in wordToMatch :
print(word,"was found in the book.")
else:
print(word,"was not found in the book.")
答案 2 :(得分:0)
实际上,要将变量中的值强制为小写,您不必定义新变量,只需使用旧变量并进行更改即可。而不是
word_lower = word.lower()
只需word = word.lower()
或直接将word.lower()
放入if语句即可。这会更有效率。