|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 隨鈊乄鎍慾 于 2017-4-6 10:04 编辑
如题我哪里弄错了吗?我可是复制的代码!!请问我该怎么改?
- import math
- def is_prime(number):
- if number > 1:
- if number == 2:
- return True
- if number % 2 == 0:
- return False
- for current in range(3, int(math.sqrt(number) + 1), 2):
- if number % current == 0:
- return False
- return True
- return False
- def get_primes(number):
- while True:
- if is_prime(number):
- number = yield number
- number += 1
- def print_successive_primes(iterations, base=10):
- prime_generator = get_primes(base)
- prime_generator.send(None)
- for power in range(iterations):
- print(prime_generator.send(base ** power))
- g=get_primes(5)#定义一个生成器g
- print_successive_primes(g)#传入生成器g
- 相应的错误显视为:
- ======================== RESTART: C:\Python34\00-2.py ========================
- Traceback (most recent call last):
- File "C:\Python34\00-2.py", line 29, in <module>
- print_successive_primes(g)
- File "C:\Python34\00-2.py", line 24, in print_successive_primes
- for power in range(iterations):
- TypeError: 'generator' object cannot be interpreted as an integer
复制代码
for power in range( next(iterations)):
|
|