اذهب إلى المحتوى
  • 0

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

xr_omb

السؤال

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

هذي البرمجة مالي تشتغل بشكل صحيح ولكن هناك مشكلة ان جملة 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')

 

 

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

Recommended Posts

  • 0

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

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

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

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

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

  • 0
بتاريخ 4 دقائق مضت قال Wael Aljamal:

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

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

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

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

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

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

  • 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 تتبع للحلقة أي يجب أن يكون هنالك فراغ على اليسار، لاحظي الشيفرة السابقة

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

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...