【发布时间】:2018-10-28 11:52:06
【问题描述】:
我正在尝试获取介于 0,1 之间的 l 输入。 l 输入将用于 A 列。第二个输入将是“mesafe”列,因此结果必须为 23,即 A 和 mesafe 的零列。我遇到了一些错误。
import pandas as pd
import numpy as np
def var():
df = pd.read_csv('l_y.txt')
l=float(input("speed of the wind:"))
w=int(input("range:"))
for l in range(0, 1) and w in range(0, 100) :
print(df['A'].values[0])
l_y.txt=( mesafe A B C D E F
0 100 23 18 14 8 4 0
1 1000 210 170 110 60 40 30
2 5000 820 510 380 300 230 160
3 10000 1600 1200 820 560 400 250
4 20000 2800 2100 1600 1000 820 500
5 50000 5900 4600 3400 3200 1600 1100
6 100000 10000 8100 6100 3900 2800 2000 )
Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
var()
File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\ml.py", line
8, in var
for l in range(0, 1) and w in range(0, 100) :
TypeError: 'bool' object is not iterable
【问题讨论】:
-
我认为您可能想尝试将一个 for 循环嵌套在另一个循环中。
-
我试过了:关键错误'A'
-
我很抱歉我的英语不好。是的,就像你说的 l_y 给予取决于什么是用户输入。我有一个公式,在这个公式中有一个取决于风速和范围的变量,“mesafe”平均值是范围,其他列是速度,范围的值类似于 0-1、1 -5, 5-12...
-
因此对于风速和范围的每个值都有一个特殊的值 l_y。希望你能理解
-
好吧,我想我开始明白了。但是如果 l 到字母 A...F 的映射不是 0, 1, 2 ...6 而是 0-1, 1-5, 5-12... 我们需要知道这个列表的其余部分