0

私はPythonが少し新しいので、同様の例を読み込もうとしましたが、答えが見つかりません。ジェネレーターで 2 つの値を返そうとしています。1 つは数値で、もう 1 つはタイムスタンプです。数字だけで問題なく動作しますが、タイムスタンプを「印刷」できません。誰か助けてください。

import random
import datetime

mynumber = 1000

def generator():
    i = 0
    while 1:
        yield random.randint(-1, 1)
        now = datetime.datetime.now()
        i = i + 1

for random_number in generator():
    mynumber = mynumber + random_number
    print mynumber
4

2 に答える 2

0

基本的なものを見つけるのが得意なPython用の静的分析があります

$ pyflakes f.py
f.py:10: local variable 'now' is assigned to but never used
于 2013-04-03T14:19:19.117 に答える
0

何をしたいのか明確ではありませんが、Python ではyield複数returnの項目を (タプルの形式で)実行できます。

def generator():
    while 1:
        yield random.randint(-1, 1), datetime.datetime.now()

mynumber = 1000
for random_number, current_time in generator():
    mynumber += random_number
    print mynumber, current_time
于 2013-04-03T10:24:08.847 に答える