سؤال

وكيف بيثون تقييم 1+++2 التعبير؟

وكم + من أي وقت مضى أضع بين، فإنه طباعة 3 كجواب. يرجى يمكن لأحد أن يفسر هذا السلوك

ول1--2 هو طباعة 3 و1---2 هو طباعة -1

هل كانت مفيدة؟

المحلول

والتعبير الخاص بك هو نفسه على النحو التالي:

1+(+(+2))

وأي تعبير رقمي يمكن أن يسبقه - لجعلها سلبية، أو + لا علاقة له (الخيار موجودا لالتماثل). مع إشارات سلبية:

1-(-(2)) = 1-(-2)
         = 1+2
         = 3

و

1-(-(-2)) = 1-(2)
          = -1

وأراك أوضح سؤالك أن أقول إن كنت أتيت من خلفية C. في بيثون، لا توجد شركات زيادة مثل ++ و-- في C، الذي ربما كان مصدر خزيا. لزيادة أو إنقاص وi متغير أو j في بيثون استخدام هذا الأسلوب:

i += 1
j -= 1

نصائح أخرى

ووالاضافي + الصورة ليست incrementors (مثل ++ لأو ++ في ج ++). أنها مجرد تبين أن عدد إيجابية.

وليس هناك عامل مثل ++. وهناك عامل + الأحادية والأحادية - مشغل بالرغم من ذلك. المشغل + أحادي ليس له تأثير على حجتها. والأحادية - مشغل ينفي مشغلها أو mulitplies من قبل -1.

+1

-> 1

++1

-> 1

وهذا هو نفس + (+ (1))

   1+++2

-> 3 لأنه من نفس 1 + (+ (+ (2))

وبالمثل يمكن أن تفعله --1 أن يعني - (-1) وهو +1

  --1

-> 1

لاكتمال لا يوجد * opeartor أحادي. لذلك * 1 هو خطأ. ولكن هناك ** المشغل الذي هو قوة، فإنه يأخذ 2 الحجج.

 2**3

-> 8

1 + (+ (+ 2)) = 3

1 - (-2) = 3

1 - (- (- 2)) = -1

أحادي زائد وناقص أحادي :

<اقتباس فقرة>   

ووالأحادية - (ناقص) عامل ينتج نفي حجتها رقمية

.      

وو+ أحادي (زائد) عامل ينتج حجتها رقمية دون تغيير.

>>> +2
2
>>> ++2
2
>>> +++2
2
>>> -2
-2
>>> --2
2
>>> ---2
-2
>>> 1+(++2)
3

وأعتقد أنه يجري تحليل كما، أول + كعملية ثنائية (إضافة)، والباقي كما عملية أحادية (جعل إيجابية).

 1 + (+(+2))

وأعتقد أنه ك 1 + (+1 * (+ 1 * 2))). أول + غير مشغل وبعد علامات زائد هي علامة على المعامل الثاني (= 2).

وتماما مثل 1 --- 2 هو نفس 1 - - (- (2)) أو 1- (-1 * (- 1 * (2))

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top