الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف أقوم باستقبال قيم في سطر واحد

بدأه مصطفى 36a2 في 20 سبتمبر 2012 · 6 رد · 686 مشاهدة · في لغة Python
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

سؤالي اليوم .. بفرض أنني أريد إدخال عدة أرقام على الشكل التالي ... 1 2 3 4 5 6 7 8 9

يعني كل الدخل في سطر واحد ...

يعني هذا الكود ببساطة :

a=0
for a in range(0,10)
	b=input()
	print b+1

يعمل عندما ندخل كل رقم في سطر يعني :

1

2

3

أما ما أريده فهو ان أكتب 1 2 3 4 ثم أضغط enter مرة واحدة فقط ...

فماهو التعديل الذي يجب ان اقوم به ...

وشكرا

#2

حسنا لقد أجبت نفسي ..شكراً ...

وأضع الإجابة هنا للفائدة :

الحل باستخدام map وفي داخلها نستخدم التابعين split والتابع int والذي يحول النص إلى رقم ..

كما يلي :

s=raw_input()
numbers=map(int,s.split())

حيث ستخزن القائمة numbers الأعداد المدخلة كلا على حدة

شكرا لكم ..

__

نسيت أن أقول الحمد لله ..happy.gif

تم تعديل هذه المشاركة بواسطة مصطفى 36a2 في 20 سبتمبر 2012 في 20:56

#3

هل تقصد انك تريد طبع الارقام كل رقم في سطر ؟

اذا كنت هكذا يمكنك

فقط باضافة هذا الرمز(,)في نهاية المتغير الذي سوف يبدا بالعد

ومن ثم

لاتكتب هكذا

b+1

تكتب بهذا الشكل

b+=1

or

b = b+1

iاتمنى افدتك بفضل الله

مثلا

s= 0
while s < 10:
print s,
s+=1

تم تعديل هذه المشاركة بواسطة MuStafa - HaSsan في 20 سبتمبر 2012 في 21:20

salah.jpg

#4
اقتباس
هل تقصد انك تريد طبع الارقام كل رقم في سطر ؟

لا بل أقصد أن المستخدم سيدخل الأرقام كلها في سطر واحد ...

اقتباس
لاتكتب هكذا

b+1

كتبت التعبير السابق بشكل عشوائي ...(يعني لا يوجد هدف منه ) ولكنه يعمل على طباعة الرقم التالي لb ... ( وهو صحيح تماماً )..

أما التعبير الذي تفضلت به أخي مصطفى فهو يزيد قيمة b بمقدار 1 ... ولكل تعبير مكان ... (فربما ظننت أنني أستخدم b ضمن while وأنا لم أفعل هذا smile.gif)

شكرا لمرورك smile.gifتحياتي

#5

في هذا السكربت المستخدم سيدخل الأرقام في سطر واحد ثم يتم طباعة كل رقم في سطر :

#!/usr/bin/python
s = raw_input()
nums = map(int, s.split())
for num in nums :
    print '%d' % (num)

عند التنفيذ :

>>> ================================ RESTART ================================
>>> 
0 1 2 3 4 5 6 7 8 9
0
1
2
3
4
5
6
7
8
9
>>>
#6

شكرا لك أخي محمد .. إجابتك صحيحة بالفعل ...انظر هنا ..

وجزاك الله خيراً ... (لكنني سأحتفظ بالنقاط laugh.giflaugh.gifلسؤال آخر لا أجد له إجابة في Google )

#7

لم اكن اعتقد انك تريد بهذا الشكل فهمته بغير صورة عل عموم

الحمدلله على كل شيء

salah.jpg

مواضيع مشابهة