• 0

مشكلة برمجية في الشرط IF في البايثون

السلااام عليكم ، لوسمحتوو اريد مساعدة ف البايثون ضروري جدا وفأسرع وقت بلييز 

هذي البرمجة مالي تشتغل بشكل صحيح ولكن هناك مشكلة ان جملة if ما تشتغل بشكل صحيح يعني لما اضغط رقم 2 أو 3 أو 4 يطلعلي الكلام مال 1  !!! اتمنى فهمتو شرحي ولكن اللحين بدرج البرمجة جربوها بنفسكم وعلموني الخطأ بليز 


print("select one medication from the list below to display info.")
print("1. Oxytocin")
print("2. Methyl Ergometrine")
print("3. Ferrous Sulphate")
print("4. Fefol")
option1 ="1.Oxytocin"
option2 ="2.Methyl Ergometrine"
option3 ="3.Ferrous Sulphate"
option4 ="4.Fefol"
print(int(input("Your option is?")))
if option1:
   print('The action:Oxytocin binds to oxytocin receptors in the uterine myometrium, which triggers the G-protein coupled receptor signal transduction cascade that causes increased intracellular calcium concentrations. Increased calcium concentration levels activate myosin light chain kinase which, in turn, induces the formation of the contractile protein actomyosin. This stimulates uterine smooth muscle contractions during childbirth and lactation. Also increases production of prostaglandins, which increase the contractions further')
   print('The classification:Synthetic form of the naturally occurring posterior pituitary hormone oxytocin.')
   print('Side effect:1- Uterine hyper stimulation/ Uterine Hypertonicity.2- Uterine spasm. 3- Nausea and vomiting.4- Water intoxication when infused with large volume electrolyte-free fluid. 5- Amniotic fluid embolism.6- Placenta abruption. 7- Tetanic contraction.8- Fetal bradycardia.')
   print('Therapeutic effect:Used to initiate uterine contraction in a term pregnancy over 39 weeks.-Induction and augmentation of labor, postpartum hemorrhage, missed or incomplete abortion')
elif option2:
   print('The action:-It works by increasing the rate and strength of contractions and the stiffness of the uterus muscles. These effects help to decrease bleeding.-Ergot alkaloid that induces rapid, sustained tetanic uterine contraction that shortens third stage of labor and reduces blood loss')
   print('The classification:-Ergot alkaloids AUTONOMICNERVOUS SYSTEM AGENT; ADRENERGIC ANTAGONIST (SYMPATHOL YTIC); ERGOT ALKALOID; OXYTOCIC')
   print('Side effect:1- Headache, nausea, vomiting, or dizziness.serious side effects: 2- Fast/slow heartbeat.3- Shortness of breath.4- Serious allergic reaction5- Nausea, vomiting. 6- Severe hypertensive episodes.7- Bradycardia.')
   print('Therapeutic effect:Used to prevent or treat bleeding from the uterus that can happen after childbirth or an abortion.- Routine management after delivery of placenta and for postpartum atony, uterine hemorrhage after childbirth')
elif option3:
   print('The action:- Iron combines with porphyrin and globin chains to form hemoglobin, which is critical for oxygen delivery from the lungs to other tissues.- Iron becomes a part of your hemoglobin (HEEM o glo bin) and myoglobin (MY o glo bin). Hemoglobin carries oxygen through your blood to tissues and organs. Myoglobin helps your muscle cells store oxygen')
   print('The classification:Iron supplement/ Ani- anemic -Pregnancy Category: A')
   print('Side effect:1- Turn stools to the black.2- Contraption. 3- Gastro-intestinal irritation.4- Nausea.5- Epigastric pain.')
   print('Therapeutic effect:To correct iron deficiency and to treat irondeficiency prophylaxis (microcytic,hypochromic) anemias during pregnancy. And to increase iron needs')
elif option4:
   print('The action:Iron is an essential trace element that is required for the formation of hemoglobin and myoglobin important components of the blood.')
   print('The classification:Anti-anemic/ Vitamin/iron supplements')
   print('Side effect:1- Abdominal pain/ Gastrointestinal irritation. 2- Nausea and epigastric pain. 3-Constipation or diarrhea 4-Black discoloration of faces')
   print('Therapeutic effect:Used to prevent and treat iron deficiency anemia and to prevent folate deficiency during pregnancy')

 

 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

إن الجمل الشرطية لديك حميعها محققة لأن متغيرات option تحمل قيما وليست فارغة أو false.

عند طلب إدخال رقم من المستخدم يتوجب علينا حفظه في متغير جديد ثم نختبر قيمة هذا المتغير هل هي 1 أو 2 أو ...

لا نقوم بفحص متغيرات option بل القيمة المدخلة من المستخدم و بناءاً عليها نطبع من خلال عبارة print حسب كل if لدينا.

أرجو إعادة التفكير في البرنامج و المحاولة.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0
بتاريخ 4 دقائق مضت قال Wael Aljamal:

إن الجمل الشرطية لديك حميعها محققة لأن متغيرات option تحمل قيما وليست فارغة أو false.

عند طلب إدخال رقم من المستخدم يتوجب علينا حفظه في متغير جديد ثم نختبر قيمة هذا المتغير هل هي 1 أو 2 أو ...

لا نقوم بفحص متغيرات option بل القيمة المدخلة من المستخدم و بناءاً عليها نطبع من خلال عبارة print حسب كل if لدينا.

أرجو إعادة التفكير في البرنامج و المحاولة.

شكرا جزيلا أستاذ وائل ، أعتذر لم أفهم قصدك جيدا هل يمكنك التعديل في برمجتي لُطفا؟

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0
بتاريخ 17 دقائق مضت قال xr_omb:

شكرا جزيلا أستاذ وائل ، أعتذر لم أفهم قصدك جيدا هل يمكنك التعديل في برمجتي لُطفا؟

حسنا،

myOption = int(input("Your option is?"))

if myOption == 1:
   print('Option1')

elif myOption == 2:
   print('Option2')

elif myOption == 3:
   print('Option3')

elif myOption == 4:
   print('Option4')
 

 

القيمة المدخلة هي أساس الاختيار هنا، علينا حفظها في متحول ومن ثم الاختيار بناءأ عليها.

الطريقة التي ذكرتها أبسط.

في الشيفرة لديك، طالما أن option1 يحوي قيمة ونحن نختبره مباشرة ضمن if بدون مقارنة مع 1 مثلا فيعطي تقييم الشرط true دوما.

الآن أدخلي فقط رقم الخيار مثلا 2 وسوف يتم تخزين 2 في myOption ثم عند المقارنة الأولى لن يتحقق الشرط فينتقل للثانية و يتحقق. وهكذا..

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0
بتاريخ 38 دقائق مضت قال Wael Aljamal:

حسنا،


myOption = int(input("Your option is?"))

if myOption == 1:
   print(....

elif myOption == 2:
   print(...

elif myOption == 3:
   print(..

elif myOption == 4:
   print(...
 

 

القيمة المدخلة هي أساس الاختيار هنا، علينا حفظها في متحول ومن ثم الاختيار بناءأ عليها.

الطريقة التي ذكرتها أبسط.

في الشيفرة لديك، طالما أن option1 يحوي قيمة ونحن نختبره مباشرة ضمن if بدون مقارنة مع 1 مثلا فيعطي تقييم الشرط true دوما.

الآن أدخلي فقط رقم الخيار مثلا 2 وسوف يتم تخزين 2 في myOption ثم عند المقارنة الأولى لن يتحقق الشرط فينتقل للثانية و يتحقق. وهكذا..

وربييي انك اسطووورة يا أستااذ واائل  صاار معي الحمد الله 😍😍💗💗💗

لكن تبقت لي مشكلة واحدة بس واللي هي انه لازم كل مرة اسوي run عشان اجررب الرقم وأنا اريدة يكون مستمر  يعني بعد م ادخل الرقم 1 مثلا اريد يتكرر الحدث عشان ادخل رقم 2 فهمت صح؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0
بتاريخ 1 دقيقة مضت قال xr_omb:

لازم كل مرة اسوي run عشان اجررب الرقم وأنا اريدة يكون مستمر  يعني بعد م ادخل الرقم 1 مثلا اريد يتكرر الحدث عشان ادخل رقم 2 فهمت صح؟

هنا علينا استخدام مفهوم الحلقة التكرارية، نستخدم مثلا while و في ضمنها نضع الشيفرة المسؤولة عن قراءة دخل المستخدم و اختبار الشرط.

لنجعل الحلقة تتكر باستمرار نستخدم :while true.

لكي نوقف الحلقة نضع شرط إضافي مثلا يختبر قيمة myOption == 0 و نعمل break.

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0
بتاريخ 7 دقائق مضت قال Wael Aljamal:

هنا علينا استخدام مفهوم الحلقة التكرارية، نستخدم مثلا while و في ضمنها نضع الشيفرة المسؤولة عن قراءة دخل المستخدم و اختبار الشرط.

لنجعل الحلقة تتكر باستمرار نستخدم :while true.

لكي نوقف الحلقة نضع شرط إضافي مثلا يختبر قيمة myOption == 0 و نعمل break.

 

ما فهمت استاذي وين بيكون موقعها ؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0
while true:
  
  myOption = int(input("Your option is?"))

  if myOption == 0:
      break

  if myOption == 1:
       print(....

  elif myOption == 2:
       print(...

  elif myOption == 3:
       print(..

  elif myOption == 4:
       print(...	

هكذا سيستمر البرنامج بإدخال قيم و معالجتها حتى ندخل القيمة 0

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0
بتاريخ 10 دقائق مضت قال Wael Aljamal:

while true:
  
  myOption = int(input("Your option is?"))

  if myOption == 0:
      break

  if myOption == 1:
       print(....

  elif myOption == 2:
       print(...

  elif myOption == 3:
       print(..

  elif myOption == 4:
       print(...	

هكذا سيستمر البرنامج بإدخال قيم و معالجتها حتى ندخل القيمة 0

يطلع لي خطأ برمجي

178863326_6049555408391544_1411266907158712701_n.jpg

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0
بتاريخ 1 دقيقة مضت قال xr_omb:

يطلع لي خطأ برمجي

أرجو الانتباه للمحاذاة، أي وضع فراغ للتعليمات البرمجية حسب طريقة كتابة بايثون.

قراءة المتغير و شروط if تتبع للحلقة أي يجب أن يكون هنالك فراغ على اليسار، لاحظي الشيفرة السابقة

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن