简单:==
个字符串不起作用。
使用Typeform Webhook,提供用户问题的json列表和答案。在ID上键入问题和答案。
我事先知道什么是问题和答案ID,我现在想遍历答案。
对于每个问题ID,我都会遍历答案以获取匹配的ID,然后可以选择答案。不幸的是,尽管operator看起来一样,但等于运算符仍无法工作?
不太漂亮,但这是代码(只是一个小形式):
for answer in user_answers:
print("answer: " + answer['field']['id'])
print("name id: " + form_fields["name"])
print("bio id: " + form_fields["bio"])
print("interests id: " + form_fields["interests"])
if answer == form_fields["name"]:
print("A")
elif answer == form_fields["bio"]:
print("B")
elif answer == form_fields["interests"]:
print("C")
else:
print("D")
输出
answer: aoQDJzkrAVGA
name id: aoQDJzkrAVGA
bio id: aOsexSfYNQ8B
interests id: l6QZGmgHPXEQ
D
answer: aOsexSfYNQ8B
name id: aoQDJzkrAVGA
bio id: aOsexSfYNQ8B
interests id: l6QZGmgHPXEQ
D
answer: l6QZGmgHPXEQ
name id: aoQDJzkrAVGA
bio id: aOsexSfYNQ8B
interests id: l6QZGmgHPXEQ
D
我们可以看到,第一遍答案和姓名ID匹配-应该弹出A,但是跳出默认子句并显示D。
优先考虑的是为什么它不起作用,但如果有更有效的方法来处理更长的表格,也很高兴?
答案 0 :(得分:4)
您正在打印\textwidth
,但是您正在将值与\documentclass{article}
\usepackage{array}
\usepackage{colortbl}
\usepackage{multirow}
\usepackage{hhline}
\usepackage{calc}
\usepackage{tabularx}
\usepackage{threeparttable}
\usepackage[paperwidth=16cm,paperheight=24cm,
%showframe
]{geometry}
%\usepackage[a4,frame,center]{crop}
\usepackage{booktabs}
\begin{document}
\providecommand{\huxb}[2]{\arrayrulecolor[RGB]{#1}\global\arrayrulewidth=#2pt}
\providecommand{\huxvb}[2]{\color[RGB]{#1}\vrule width #2pt}
\providecommand{\huxtpad}[1]{\rule{0pt}{\baselineskip+#1}}
\providecommand{\huxbpad}[1]{\rule[-#1]{0pt}{#1}}
\begin{center}
\begin{table}[h]
\begin{threeparttable}
\begin{tabularx}{\linewidth}{@{}Xrrrr@{}}
\toprule
& Model 1 & Model 2 & Model 3 & Model 4\\
\cmidrule{2-5}
Variables\-Intervention\-Incumbent &&& -0.0115 & 0.1432\\
\cmidrule{2-5}
BIC & 130.5091 & 126.4769 & 127.0720 & 139.1500\\
\bottomrule
\end{tabularx}
\end{threeparttable}
\end{table}
\end{center}
\end{document}
(字典本身)进行比较。这将永远不会返回True,因为您的字典不等于任何字符串。
您应该这样做:
answer['field']['id']
对于更通用的代码结构,您可以执行以下操作:
answer