久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

python素數之和

python sum of primes(python素數之和)
本文介紹了python素數之和的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我想做一個python程序來生成一個數的質數之和,但是程序沒有給出正確的結果,請告訴我為什么.

I am tying to make a python program that will generate the sum of primes for a number, but the program is not giving the correct result,please tell me why.

b=1
#generates a list of numbers.
while b<100:
    b=b+1
    x = 0.0
    a = 0
    d = 0
    #generates a list of numbers less than b. 
    while x<b:
        x=x+1
        #this will check for divisors. 
        if (b/x)-int(b/x) == 0.0:
            a=a+1
        if a==2:
            #if it finds a prime it will add it.
            d=d+b
print d 

我讓它成功生成了一個素數列表,但我無法添加素數.

I made it generate a list of primes successfully, but i could not get the primes to add.

這是我用來生成素數列表的代碼.

This is the code that i used to generate a list of primes.

b=1
while b<1000:
    b=b+1
    n = b
    x = 0.0
    a = 0
    while x<n:
        x=x+1
        if (n/x)-int(n/x) == 0.0:
            a=a+1
    if a==2:
        print b

推薦答案

您的 d 變量在您的外部循環的每次迭代中被重置.將初始化移出該循環.

Your d variable is being reset during each iteration of your outer loop. Move the initialization out of that loop.

此外,a == 2 檢查應該只在外循環的每次迭代中發生一次.將其移出內循環.

Additionally, the a == 2 check should only occur once per iteration of the outer loop. Move it out of the inner loop.

b=1
d = 0
#generates a list of numbers.
while b<100:
    b=b+1
    x = 0.0
    a = 0
    #generates a list of numbers less than b. 
    while x<b:
        x=x+1
        #this will check for divisors. 
        if (b/x)-int(b/x) == 0.0:
            a=a+1
    if a==2:
        #if it finds a prime it will add it.
        d=d+b
print d 

結果:

1060

在我們處理它的同時,讓我們嘗試清理代碼以使其更易于理解.您可以將內部循環移動到自己的函數中,以便讀者更清楚地了解其用途:

While we're at it, let's try cleaning up the code so it's more comprehensible. You can move the inner loop into its own function, so readers can more clearly understand its purpose:

def is_prime(b):
    x = 0.0
    a = 0
    while x<b:
        x=x+1
        #this will check for divisors. 
        if (b/x)-int(b/x) == 0.0:
            a=a+1
    if a==2:
        return True
    else:
        return False

b=1
d=0
#generates a list of numbers.
while b<100:
    b=b+1
    if is_prime(b):
        d=d+b
print d

使用描述它們所代表的變量名稱也很有用:

It's also useful to use variable names that describe what they represent:

def is_prime(number):
    candidate_factor = 0
    amount_of_factors = 0
    while candidate_factor<number:
        #A += B is equivalent to A = A + B
        candidate_factor += 1
        #A little easier way of testing whether one number divides another evenly
        if number % candidate_factor == 0:
            amount_of_factors += 1
    if amount_of_factors == 2:
        return True
    else:
        return False

number=1
prime_total=0
#generates a list of numbers.
while number<100:
    number += 1
    if is_prime(number):
        prime_total += number
print prime_total

for 循環比增加計數器的 while 循環更符合規范:

for loops are more idomatic than while loops that increment a counter:

def is_prime(number):
    amount_of_factors = 0
    for candidate_factor in range(1, number+1):
        if number % candidate_factor == 0:
            amount_of_factors += 1
    if amount_of_factors == 2:
        return True
    else:
        return False

prime_total=0
#generates a list of numbers.
for number in range(2, 101):
    if is_prime(number):
        prime_total += number
print prime_total

如果您覺得大膽,可以使用列表推導來減少您使用的循環數量:

If you're feeling bold, you can use list comprehensions to cut down on the number of loops you use:

def is_prime(number):
    factors = [candidate_factor for candidate_factor in range(1, number+1) if number % candidate_factor == 0]
    return len(factors) == 2

#generates a list of numbers.
primes = [number for number in range(2, 101) if is_prime(number)]
prime_total = sum(primes)
print prime_total

這篇關于python素數之和的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

How to draw a rectangle around a region of interest in python(如何在python中的感興趣區域周圍繪制一個矩形)
How can I detect and track people using OpenCV?(如何使用 OpenCV 檢測和跟蹤人員?)
How to apply threshold within multiple rectangular bounding boxes in an image?(如何在圖像的多個矩形邊界框中應用閾值?)
How can I download a specific part of Coco Dataset?(如何下載 Coco Dataset 的特定部分?)
Detect image orientation angle based on text direction(根據文本方向檢測圖像方向角度)
Detect centre and angle of rectangles in an image using Opencv(使用 Opencv 檢測圖像中矩形的中心和角度)
主站蜘蛛池模板: 日韩av电影院 | 丁香五月网久久综合 | 国产成人99久久亚洲综合精品 | 91精品国产一区二区在线观看 | m豆传媒在线链接观看 | 欧美午夜精品久久久久免费视 | 精品欧美乱码久久久久久1区2区 | 午夜在线观看免费 | 亚洲午夜视频 | 人人干人人爽 | 精品国产乱码久久久久久丨区2区 | 成人在线视频免费观看 | 欧美国产视频 | 国产欧美日韩一区 | 成人精品一区二区三区中文字幕 | 中文字幕一区在线观看视频 | 亚洲精品视频二区 | 免费看黄色片 | www天天操 | 久草免费在线视频 | 久久精品一区二区三区四区 | 欧美电影网 | 国产美女在线观看 | 国产91观看 | www.99精品 | 天天操天天射综合网 | 国产一级免费视频 | 国产精品天堂 | 久久欧美高清二区三区 | 中文字幕 国产精品 | 久久久久久高潮国产精品视 | 国产精品久久午夜夜伦鲁鲁 | 日韩精品免费 | 国产精品久久久久久av公交车 | 麻豆精品国产91久久久久久 | 中文字幕在线免费观看 | 国产精品日韩在线 | 三级视频在线观看电影 | 欧美久久一区二区 | 欧美男人天堂 | 久草在线在线精品观看 |