مشکل در اجرای یک برنامه هنگامی که از Run module استفاده میکنم:

سلام خدمت شما استادان عزیز

من یک کاربر تازه وارد هستم و میخواستم یه برنامه برای تولید اعداد اول بنویسم.

فک می کنم کد کاملی نوشته باشم ولی در هنگام اجرا این ارور رو میده:

'mbcs' codec can't encode characters in position 0--1 character

prime=[2,3,5]
number=input("how many prime numbers do you want?")
a=0
b=6
while len(prime)<int(number):
    if b/prime[a]-int(b/prime[a])==0:
        b+=1
        continue
    else:
        if a<len(prime)-1:
            a+=1
            continue
        prime.append(b)
        a=0
print(prime)
end=input("press Enter to end this program")

 

پاسخ ها

sokanacademy forum
کاربر سکان آکادمی 8 سال پیش

سلام کد شما بدون ارر داخل پایتون 3 اجرا می شود. اسم فایل پایتون هم index.py بگذارید...

prime=[2,3,5]
number=input("how many prime numbers do you want?")
a=0
b=6
while len(prime)<int(number):
    if b/prime[a]-int(b/prime[a])==0:
        b+=1
        continue
    else:
        if a<len(prime)-1:
            a+=1
            continue
        prime.append(b)
        a=0
print(prime)
end=input("press Enter to end this program")
$ python index.py
how many prime numbers do you want?10
[2, 3, 5, 7, 8, 11, 12, 13, 14, 17]
press Enter to end this program

 

sokanacademy forum
کاربر سکان آکادمی 8 سال پیش

کد شما اشتباه منطقی و الگوریتمی داره... این لینکه شاید کمکت کنه... البته یه راست نرو سراغش... اول رو الگوریتم خودت فک کن

https://en.wikibooks.org/wiki/Some_Basic_and_Inefficient_Prime_Number_Generating_Algorithms

https://en.wikipedia.org/wiki/File:Sieve_of_Eratosthenes_animation.gif

sokanacademy forum
کاربر سکان آکادمی 8 سال پیش

میشه اشتباه رو بگید؟

چون وقتی کد ها رو تک تک اجرا میکنم یا ذخیره و بعد اجرا میکنم درست کار میکنه

وتا یک ملیون عدد رو درست حساب کرده

while True:
    prime=[2,3,5]
    number=input("how many prime numbers do you want?")
    print("progarm is runing... \nplease wait!\n")
    a=0
    b=7
    print(2)
    print(3)
    print(5)
    while len(prime)<int(number):
        if b%int(prime[a])==0:
            b+=2
            a=0
            continue
        else:
            if (int(prime[a]))**2>b:
                prime.append(b)
                print(b)
                b+=2
                a=0
                continue
            else:
                a+=1
                continue
sokanacademy forum
کاربر سکان آکادمی 8 سال پیش

کد شما اشتباه منطقی و الگوریتمی داره... این لینکه شاید کمکت کنه... البته یه راست نرو سراغش... اول رو الگوریتم خودت فک کن

https://en.wikibooks.org/wiki/Some_Basic_and_Inefficient_Prime_Number_Generating_Algorithms

https://en.wikipedia.org/wiki/File:Sieve_of_Eratosthenes_animation.gif

sokanacademy forum
کاربر سکان آکادمی 8 سال پیش

همچنین به نظرم اگه میخوای با python کار کنی برو python 2.7 رو بگیر یادت باشه url شم به PATH اضافه کنی

online-support-icon