IOPanel

חזור   IOPanel > דבר חופשי > תוכנה ומערכות הפעלה > תיכנות
עמוד ראשי הירשם חיפוש הודעות מהיום סמן פורומים כנקראו

תיכנות פורום בנושאי תיכנות , פיתוח אתרים , שפות תיכנות , אפליקציות סלולר וטאבלטים.

תוכנה ומערכות הפעלה : תיכנות

עזרה ב Python

עברתי על הקוד שלך, ויש שיטה שאני ממליץ לך ליישם בקוד שלך - DRY , Don`t repeat yourself. הלולאה שלך,כתבתה ...
תגובה
 
קישור חוזר הגדרות אשכול אפשרויות הצגת נושא
ישן 10-05-10, 1:00   #16 (קישור ישיר)
IO Rookie
 
תאריך הצטרפות: May 2010
הודעות: 80
ברירת מחדל

עברתי על הקוד שלך,
ויש שיטה שאני ממליץ לך ליישם בקוד שלך - DRY , Don`t repeat yourself.
הלולאה שלך,כתבתה אותה כמה פעמים אותו דבר , תהפוך אותה לפונקציה או במקרה של python לdef.

בנוסף,הקוד שאתה כותב הוא למען המכונה שתיקרא אותו,אלה הוא למען המתכנת הבא אז תידאג לתת שמות מתאימים למשתנים ולפונקציות,אל תפחד שהם יהיו ארוכים מדי,העיקר שיסבירו את מה שקורה בפועל (פונקציה שצריך לשנות את שמה היא anotheraction_f).

דבר נוסף,שאני הייתי עושה,הייתי מחלק את הקוד של התפריט לפונקציות,לדוגמא לאופציה הראשונה תהיה פונקציה , לאופציה השנייה תהיה פונקציה וככה זה יהיה הרבה יותר נוח ומסודר,והרבה יותר טוב אם הם יהיו בקובץ נפרד.

אממ זו לבנתיים הדעה שלי,אממ בנוסף יש שני אתרים שיעזרו לך בלימוד לפי דעתי והם -
1.showmedo.com - מדריכי וידאו,חלקם בחינם וחלקם עולים כסף והם רובם ובעיקרם על פייתון.
2.stackoverflow.com - אתר מאוד מעולה לשאילת שאלות בנושא תיכנות ועונים שם מאוד מהר (על פי ניסיון).

בהצלחה,
ואם אפשר לישאול,מה יהיה התפקיד שלך בעבודה שבשבילו תצטרך לדעת פייתון?
Yosy לא מחובר   הגב עם ציטוט
ישן 07-08-10, 13:57   #17 (קישור ישיר)
IO Chats
 
סמל האישי של dany_74q
 
תאריך הצטרפות: Jun 2008
הודעות: 4,790
ברירת מחדל

עדיין מתעסק בעניין ניר ?
בקשו ממני לפני כמה ימים עזרה ביישום רעיון בקוד פייטון ונזכרתי בת'ראד .

עברתי על הקוד ועשיתי קצת מודיפיקציות -
*שמתי לב שלוקח למחשב יותר זמן להדפיס את ה+`ים וה-`ים מאשר לחשב וזה בולט מאוד במספרים גדולים , הסרתי .

*כשבדקתי את הקוד האחרון ששמת החישוב של מספרים גדולים (10 ספרות ויותר) לקח הרבה זמן ,ומשם הגעתי למסקנה שהמתמטיקה הייתה לא יעילה .
היה שם קוד לופ שהאט את כל העניין ונפתרתי ממנו , עם עוד קצת שינויים עכשיו גם מספרים עם 100 ספרות מחושבים תוך שניה~ (בהשוואה לדקות ויותר בקוד הישן).

*בקוד האחרון אחרי הבחירה ב4 מופיע "האם אתה רוצה לעשות פעולה נוספת" , הבנתי ממה זה נבע ותקנתי (בלי sys.exit שעשה לנו שגיאות).

*שיטת הסוגריים של ה'y' or 'Y' לא עבדה , התוכנה עבדה רק עם הy הקטן , תוקן .

ועוד כמה שינויים קטנים .

הקוד-
קוד:
#version = 0.5
#
#programmer: rouvio
#co/programmer: Danny_74q

def evenandodd_f():
    import sys
    import time
    r_menu = ''
    odd_num = 0
    even_num = 0
    loop = 1
    odd = 1
    even = 1
    print "Your options are:"
    print " "
    print "1) Find out how many Odd's are in a number"
    print "2) Find out how many Even's are in a number"
    print "3) Do both"
    print "4) Exit calculator"
    print " "
    menu_choice = raw_input("Please choose your option: ")
    while loop == 1:
        if menu_choice == ('1'):
            user_input1 = raw_input("Great, now what number would you like to examine? " )
            user_input2 = int(user_input1)
            print ""
            if user_input2 % 2 <> 0:
                odd_num=(user_input2/2)+1;
            else:
		odd_num=(user_input2/2);
            print ""
            print "Results:"
            print "I found",odd_num,"ODD numbers in",user_input2,"."
            print ""
            loop = 0
            anotheraction_f()
        elif menu_choice == ('2'):
            user_input1 = raw_input("Great, now what number would you like to examine? " )
            user_input2 = int(user_input1)
            print ""
            even_num=(user_input2/2)
            print ""
            print "Results:"
            print "I found",even_num,"EVEN numbers in",user_input2,"."
            print ""
            loop = 0
            anotheraction_f()
        elif menu_choice == ('3'):
            user_input1 = raw_input("Great, now what number would you like to examine? " )
            user_input2 = int(user_input1)
            print ""
            if user_input2 % 2 <> 0:
                odd_num=(user_input2/2)+1
	    else:
		odd_num=(user_input2/2)
            even_num=(user_input2/2)
            print ""
            print "Results:"
            print "I found",odd_num,"ODD numbers in",user_input2,"."
            print "I found",even_num,"EVEN numbers in",user_input2,"."
            print ""
            loop = 0
            anotheraction_f()
        elif menu_choice == ('4'):
            print ""
            print "Now exiting Evens & Odds calculator.",
            time.sleep(.5)
            print ".",
            time.sleep(.5)
            print "."
            loop=0
        else:
            r_menu = raw_input("Invalid input. Would you like to return to Even & Odds calculator? (Y/N) ")
            invalid_input = 0
            while invalid_input == 0:
                if (r_menu =='y' or r_menu=='Y'):
                    invalid_input = 1
                    import os
                    os.system("cls")
                    evenandodd_f()
                elif (r_menu =='n' or r_menu=='N'):
                    invalid_input = 1
                    loop=0
                elif (r_menu !='y' and r_menu!='Y' and r_menu!='n' and r_menu!='N'):
                    r_menu = raw_input("Invalid input. Would you like to return to Even & Odds calculator? (Y/N) ")
                    invalid_input = 0
            loop = 0

def anotheraction_f():
    answer = raw_input("Would you like to perform another action? (Y/N) ")
    loop = 0
    while loop == 0:
        if (answer == 'y' or answer== 'Y'):
            import os
            os.system("cls")
            evenandodd_f()
            loop = 1
        elif (answer == 'n' or answer == 'N'):
            loop = 1
        elif (answer !='y' and answer!='Y' and answer!='n' and answer!='N'):
            answer = raw_input("Would you like to perform another action? (Y/N) ")
            loop = 0


#program starts here
mainmenu_choice = "void"
loop = 0
while loop == 0:
    print "Hello and welcome to NR's Calculator."
    print ""
    print "This program is under development."
    print "It will extend its capabilities in following versions."
    print "(version 0.5) *The only working module is Evens & Odds statistics calculator."
    print ""
    mainmenu_choice = raw_input("Press any key to continue, or (q) to quit: ")
    if mainmenu_choice == 'q' or mainmenu_choice == 'Q':
        print ""
        print "Thank you for using NR's Calculator."
        print "Please check back later for updates!"
        import time
        time.sleep(3)
        loop = 1
    else:
        print ""
        print "Loading Evens and Odds module.",
        sleeptime = 0
        while sleeptime < 2:
            import time
            time.sleep(.5)
            print ".",
            sleeptime = sleeptime + .5
        print ""
        import os
        os.system("cls")
        evenandodd_f()
        print ""
        print "Thank you for using NR's Calculator."
        print "Please check back later for updates!"
        import time
        time.sleep(3)
    loop = 1
אם אתה עדיין מתעניין ורוצה לעבור לשלב הבא (GUI ?) אני תמיד אשמח לעזור .
__________________
dany_74q לא מחובר   הגב עם ציטוט
תגובה


הגדרות אשכול
אפשרויות הצגת נושא

חוקי משלוח הודעות
אתה לא יכול לשלוח הודעות חדשות
אתה לא יכול לשלוח תגובות
הינך לא יכול לצרף קבצים להודעותיך
אתה לא יכול לערוך את הודעותיך

vB code הינו פועל
סמיילים הינו פועל
קוד [IMG] הינו פועל
קוד HTML הינו כבוי
Trackbacksהינו פועל
Pingbacks הינו פועל
Refbacks הינו פועל

נושאים דומים
אשכול מפרסם האשכול פורום תגובות הודעה אחרונה
עזרה מאוד חשובה, יום רביעי מתכונת ואני צריך עזרה עם תרגיל ZipoX דיבורים על הא ודא 33 24-03-10 17:53
ספר Python YosiAT תיכנות 2 05-03-09 20:51
Monty Python ביוטיוב iakovl דיבורים על הא ודא 4 23-11-08 19:02
[עזרה] קניתי כבל לחיבור המחשב לטלוויזיה ואני צריכה עזרה. yolia1111 תמיכה טכנית 14 23-07-07 1:18
[עזרה] צריך עזרה לגבי מפרט מחשב+בחירת מארז *התקציב: 5.5K! Almog Design מפרטי מחשב 145 27-06-07 16:54


כל הזמנים הם GMT +3. השעה כרגע היא 3:58.





מופעל על ידי: vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO
IOPanel.net © כל הזכויות שמורות