擅长:python、mysql、java
<p>筛选的dict键是一个列表,而不是一个字符串。strip()不是对列表有效的操作,只是对字符串有效。括号:“[]”不是字符串-它们对python有不同的含义</p>
<p>您的while循环也将永远运行,但我认为这不是当前的问题</p>
<p>只需编写自己的for循环,而不是编写列表理解(“[i for i in l if i==v]”)。列表理解无论如何都会循环</p>
<pre><code>def search_plant_name():
keep_going = True
while keep_going:
enter_plant_name = input('Please enter plant name: ').capitalize()
for key, val in plantdict.items():
if enter_plant_name in key:
print("Plant name: " + key)
print("Date and time of entry/revision of plant record: " + val[0])
print('Information of plant:')
print('Date and time of entry/revision of plant record: ' + val[1])
keep_going = False # or put this wherever you want to exit while loop
else:
provide_option_2 = user_input_options('The plant does not exist, would you like to add in the record? (Y / N): ')
if provide_option_2 in ('Y'):
print('OPTION2')
##CREATE FUNCTION FOR OPTION 2##
</code></pre>