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

דוגמא:
sum1 = (num1 %10 + num2 % 10)
שואל השאלה:
אני הייתי רוצה לשלוח לך אבל אני לא יכולה, אין לי פרחים חחח
שואל השאלה:
אני ניסיתי לעשות את זה טזה לא עבד לי.. אבל אני אנסה שוב
אשלח לך דרך נוספת
רק לפני שאתה מעתיק את הקוד, תנסה להבין אותו
תתעלם מהדברים שאתה לא יודע, תנסה להבין את הפואנטה שלו. אם לא תבין משהו, תפנה אליי בפרטי ואסביר לך
num1 = int(input("enter a number: "))
num2 = int(input("enter a number: "))

if num1 not in range(10 , 99):
print("number must be with only 2 digits!")
quit()

elif num2 not in range(10 , 99):
print("number must be with only 2 digits!")
quit()


summary = str(num1) + str(num2)

summary.split()
summary = list(summary)

summary = [int(summary[i]) for i in range(len(summary))]

summary = (summary[::2] + summary[1::2])

single_sum = summary[0] + summary[1]
double_sum = summary[2] + summary[3]

print(f"unity digit summary is: {single_sum} \n enrichment digit summary is : {double_sum}")

בבקשה זה הקוד
תעני לשאלות שלי אתן לך פרחים בשביל הפרטי
שואל השאלה:
תודה רבה על כל העזרה
בשמחה :)
^ תנסה להכניס 99, תראה מה יהיה.
בנוסף לכך אתה רושם את אותה הפעולה פעמיים (הבדיקה של הקלט), לפי דעתי עדיף כבר להשתמש בor
הsplit הוא שם סתם, כי בסופו של דבר אתה לא שומר את הערך שלו לשום מקום.
השתמשתי בsplit למשהו אחר אין לי באמת צורך בו
פשוט שכחתי להעיף אותו
הוא לא באמת משפיע
הנה זה יכול להיות פיתרון כמובן שאפשר עוד הרבה דברים.

בהתחלה איפסתי את 2 הסכומים, אני עוברת פעמיים בשביל לקבל 2 מספרים, כל פעם אני תוקעת את המשתמש עד שיכניס מספר שעונה על הדרישות (מספר דו ספרתי) וכל פעם שמכניס מוסיפה לסכום המתאים.

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

units_sum = tens_sum = 0
:(for i in range(2
:while true
(" num = input(f"enter {i + 1} num
:if num.isdigit() and len(num) == 2
break

:else
(".print("this is not a 2 digit number

([units_sum += int(num[-1
([tens_sum += int(num[-2

("{print(f"units_sum is: {units_sum}, tens_sum is: {tens_sum
אהבתי את השיטה ^
worldwired1
הספליט זו הייתה עוד הערה על הדרך, מה שאתה לא משתמש, אין טעם שישאר בקוד.
בכל מקרה הכוונה שלי הייתה שהקוד שלך לא יקבל את המספר 99 למרות שהוא דו ספרתי.
פשוט תשנה מrange 10 עד 100.

וגם נגיד הבדיקה של הקלט, אתה רושם את אותו הדבר פעמיים
אז פשוט עדיף לעשות אם n1 או n2 בעייתי תעשה exit
בסדר זה לא משפיע המון ^
אלו הדברים הקטנים
אגב ל99 שמתי לב ותיקנתי
רק הספליט נשאר. וגם זה הורדתי עכשיו