相关疑难解决方法(0)

计算一系列的总和?

这是我的任务,对于我的生活,我似乎无法想办法.这是我到目前为止的代码:

sum = 0
k = 1
while k <= 0.0001:
     if k % 2 == 1:
       sum = sum + 1.0/k
     else:
      sum = sum - 1.0/k
 k = k + 1
 print()
Run Code Online (Sandbox Code Playgroud)

这是我的任务:

创建一个名为sumseries.py的python程序,它执行以下操作:将注释放在程序顶部,并附上您的名称,日期和程序的描述.

编写一个程序来计算和显示系列的总和:

1 - 1/2 + 1/3 - 1/4 + ......

直到达到小于0.0001的期限.

10,000次迭代的答案似乎是0.6930971830599583

我以1,000,000,000(十亿)次迭代运行该程序,并提出了一些0.6931471810606472.我需要创建一个循环来可编程地创建系列.

python python-3.x

5
推荐指数
1
解决办法
8398
查看次数

使对象可迭代?

我试图迭代列表列表中的每一行,将每行中的一个元素附加到新列表中,然后在新列表中查找唯一元素。

我知道我可以使用 for 循环轻松完成此操作。我正在尝试不同的路线,因为我想了解有关类和函数的更多信息。

这是列表列表的示例。第一行是标题:

legislators = [
 ['last_name', 'first_name', 'birthday', 'gender', 'type', 'state', 'party'],
 ['Bassett', 'Richard', '1745-04-02', 'M', 'sen', 'DE', 'Anti-Administration'],
 ['Bland', 'Theodorick', '1742-03-21', '', 'rep', 'VA', ''],
 ['Burke', 'Aedanus', '1743-06-16', '', 'rep', 'SC', ''],
 ['Carroll', 'Daniel', '1730-07-22', 'M', 'rep', 'MD', ''],
 ['Clymer', 'George', '1739-03-16', 'M', 'rep', 'PA', ''],
 ['Contee', 'Benjamin', '', 'M', 'rep', 'MD', ''],...]
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

import csv
f = open("legislators.csv")
csvreader = csv.reader(f)
legislators = list(csvreader)

class Dataset:
    def __init__(self, data):
        self.header = data[0] #Isolate header from …
Run Code Online (Sandbox Code Playgroud)

python iterable class

5
推荐指数
1
解决办法
7240
查看次数

如何收集列表、字典等中重复计算的结果(或制作修改每个元素的列表的副本)?

Stack Overflow 上有很多关于这个一般主题的问答,但它们要么质量很差(通常是初学者的调试问题暗示的),要么以其他方式错过了目标(通常是不够通用)。至少有两种极其常见的方法会使幼稚的代码出错,初学者从关于循环的规范中获益更多,而不是从将问题作为拼写错误或关于打印所需内容的规范中获益。所以这是我尝试将所有相关信息放在同一个地方。

假设我有一些简单的代码,可以对一个值进行计算x并将其分配给y

y = x + 1

# Or it could be in a function:
def calc_y(an_x):
    return an_x + 1
Run Code Online (Sandbox Code Playgroud)

现在我想重复计算 的许多可能值x。我知道for如果我已经有要使用的值列表(或其他序列),我可以使用循环:

xs = [1, 3, 5]
for x in xs:
    y = x + 1
Run Code Online (Sandbox Code Playgroud)

while或者,如果有其他逻辑来计算值序列,我可以使用循环x

def next_collatz(value):
    if value % 2 == 0:
        return value // 2
    else:
        return 3 * value + 1

def collatz_from_19():
    x = 19
    while x != 1:
        x …
Run Code Online (Sandbox Code Playgroud)

python iteration list-comprehension

5
推荐指数
1
解决办法
2855
查看次数

在字典中使用'if in'

我无法相信,但我被一项非常简单的任务所困扰.

我需要检查,如果值是在字典中的任何键或值.我可以找到密钥使用if 'A' in dictionary,但我似乎无法让它工作values.我意识到我可以使用for循环来做这个,我可以诉诸于此但我想知道是否有内置的方法.

python dictionary

4
推荐指数
1
解决办法
190
查看次数

为什么在 Python 中有一个 __iter__ 方法?

为什么要有__iter__方法?如果一个对象是一个迭代器,那么拥有一个返回自身的方法是没有意义的。如果它不是一个迭代器而是一个可迭代的,即带有__iter__and__getitem__方法的东西,那么为什么要定义一些返回迭代器但不是迭代器本身的东西呢?在 Python 中,何时需要定义一个本身不是迭代器的可迭代对象?或者,什么是可迭代但不是迭代器的示例?

python iterator

4
推荐指数
1
解决办法
2003
查看次数

在python中的for循环中修改迭代器

@Padraic Cunningham 如果您想让我删除问题,请告诉我。

我是python的新手。我想根据某些条件跳过一些迭代器值。这在 C 中很容易,但在 python 中我很难。

所以请帮助我理解为什么这里的代码循环 100 次而不是 10 次。

 for i in range(100):
    print i
    i = i +10
Run Code Online (Sandbox Code Playgroud)

编辑:我知道可以选择更改 for 循环的步长。但我对动态更改迭代器变量很感兴趣,就像我们可以在 C 中做的那样。好吧,我明白了,python 中的 for 循环与 C 中的不同。简单的方法是使用 while 循环,我在我的代码中做到了它奏效了。感谢社区!

python

3
推荐指数
1
解决办法
1万
查看次数

'for x ...'中'x'的技术术语是什么?

如果我有代码......

list = ['Clemont', 'Albert', 'Shiro']
for x in range(len(list)):
    print(x)
Run Code Online (Sandbox Code Playgroud)

...... x这里的技术术语是什么?我假设它是"迭代对象",但也许这是一种误解; 如果它不是一个误解,什么是迭代对象?

python python-3.x

3
推荐指数
1
解决办法
91
查看次数

为什么对可迭代对象进行映射会返回一次性可迭代对象?

为什么map使用可多次迭代的对象调用时不返回也可多次迭代的对象?我认为后者更为合理。

我的用例是我有很多data,因此只能对其进行迭代。map(理论上)非常适合 上的操作data,因为它是惰性的。然而,在下面的示例中,我希望两次长度相同。

iterable = [1,2,3,4]  # this can be iterated repeatedly
m = map(lambda x:x**2, iterable) # this again should be iterable repeatedly
print(len(list(m))) # 4
print(len(list(m))) # 0
Run Code Online (Sandbox Code Playgroud)

如何映射可迭代结构并获取可迭代结构?

编辑: 这是一个恕我直言应该如何工作的示例,演示了惰性评估:

def g(): 
    print('g() called')

data = [g, g]

# map is lazy, so nothing is called
m = map(lambda g: g(), data)
print('m: %s' % len(list(m))) # g() is called here
print('m: %s' % len(list(m))) # this should work, …
Run Code Online (Sandbox Code Playgroud)

python iteration iterator python-3.x

3
推荐指数
1
解决办法
424
查看次数

循环遍历字符串时是否保证执行顺序?

以下程序是否保证始终产生相同的输出?

s = 'fgvhlsdagfcisdghfjkfdshfsal'
for c in s:
    print(c)
Run Code Online (Sandbox Code Playgroud)

python for-loop python-3.x order-of-execution

3
推荐指数
1
解决办法
121
查看次数

给定一个*任意*单词列表,如何删除所有带有双字母的单词?

与这篇文章类似,但我想对外部源提供的任意列表或单词执行此任务,这些列表或单词可能会根据用户输入而改变。例如,我可能有:

input = ['annotate','color','october','cellular','wingding','appeasement','sorta']
Run Code Online (Sandbox Code Playgroud)

输出应该是

output = ['color','october','wingding','sorta']
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激!

python regex

3
推荐指数
1
解决办法
122
查看次数