【问题标题】:Python For Loop QuestinonnairePython For 循环问卷
【发布时间】:2021-05-03 15:03:25
【问题描述】:

我的代码应该解决两个问题:

  1. 我想做的是创建一个问卷,人们在其中回答不同的问题,范围从 1 到 5。 问题结构仍然存在,所以我尝试了一个 for 循环。

但是,输出总是有问题...这是我尝试过的:

import pandas as pd

#named the question subjects
factor_test_target_a1 = "name1"
factor_test_target_a2 = "name2"
factor_test_target_a3 = "name3"
factor_test_target_a4 = "name4"
factor_test_target_a5 = "name5"
factor_test_target_a6 = "name6"

#generated an array of question subjects to loop trough
test_target = pd.DataFrame([factor_test_target_a1, factor_test_target_a2, factor_test_target_a3, 
factor_test_target_a4, factor_test_target_a5,factor_test_target_a6])

#generated the for loop
for n in test_target: input("Please indicate the approriateness of" + str(n + 1) + "from 1-5: ")

print(n)

出现的错误是:

TypeError: can only concatenate str (not "int") to str
  1. 我的目标是使用 n 的答案,在以下等式中为每个主题设置一个固定变量,意思是 n= (ni- fixedfactori/ fixedfactori)

为此,我创建了以下等式:

reference = pd.DataFrame([4.3412, 4.327, 4.306, 4.200, 4.00, 3.775])

df_norm = test_target()
df_reference = reference()

#apply scaling
for n in test_target:
df_norm[n] = ((df_norm[str(n + 1)] - df_reference[str(n + 1)])/ df_reference[str(n + 1)])
print(n)

这里给我一个关于缩进的错误。

【问题讨论】:

  • 每个代码 sn-ps 中的n 是什么?您认为n + 1 的结果是什么?
  • 用 n 我想指代因素,例如n1 将是 factor_test_target_a1。我猜在数学上如果 test_target 是 X 并且 x1=factor_test_target_a1;我在另一篇文章中读到的 n+1 旨在表明循环应以结构化方式移动,始终计算 0 位置和 0 位置,接下来是 1 位置和 1 位置,依此类推。

标签: python for-loop


【解决方案1】:

错误在行 str(n + 1)

这里n的值来自

[factor_test_target_a1,factor_test_target_a2,factor_test_target_a3, factor_test_target_a4, factor_test_target_a5, factor_test_target_a6]

因此你不能用 1 添加这些字符串

for n in test_target: 
input("Please indicate the approriateness of" + str(n + 1) + "from 1-5: ")

我想你想用索引属性来取这些元素的索引

【讨论】:

  • 非常感谢您的意见 :) 与此同时,我找到了一种不同的方法来解决它!见下文:)
【解决方案2】:
g=0
x = []
    for i in test_target:
        x.extend([float(input("Approriateness of the " + i + " on a scale of 1-5: "))])
        # print(x[g])
        g = g + 1

这样我就可以循环整个过程!非常感谢您的支持。

【讨论】:

    猜你喜欢
    • 2011-01-26
    • 2019-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多