【发布时间】:2020-12-26 09:51:58
【问题描述】:
我有以下数据集,我想手动检查 Name 列中的值是否与同一行的 Factory 列中的值相同。
我开发了以下代码阅读文档,但不能完全工作。我想确保有以下特点:
- 如果我输入 1 表示一切正常,名称匹配,我可以继续下一行
- 如果我输入 0,则表示名称不匹配,但无论如何我都可以进入下一行
- 如果我输入 9,我会厌倦检查,我希望整个循环结束。
- 如果我输入的不是 1、0 或 9,循环会要求我重新输入值
data = {'Name': ['Facotry One', 'Second value', 'Match'],
'Factory': ['Footwear Limited', 'Footweat not limited', 'Match']}
df_test = pd.DataFrame (data, columns = ['Name','Factory'])
df_test
english_matches = []
for index, row in df_test.iterrows():
print('Is ', row['Name'], ' the same as ', row['Factory' ])
while True:
try:
match = input("Enter 1 for match, 0 for mistmatch, 9 to exit the loop: ")
if match not in (1, 0, 9):
except ValueError:
print("Sorry, I didn't understand that.")
continue
else:
english_matches.append(match)
break
if match == 9:
Break
else:
print("You are still here")
错误
File "<ipython-input-16-81bdfa6d212f>", line 15
if match not in (1, 0, 9):
^
SyntaxError: invalid syntax
【问题讨论】:
-
显示错误信息
-
这能回答你的问题吗? python exception handling
-
except必须与try具有相同的缩进级别。如果不能在if内,如这段代码所示。