نوعخطأ غير معتمد نوع المعامل(ق) ل %:تعويم و نونيتيب
سؤال
آسف لإزعاجك بسؤال مستجد ، لكنني جديد على بايثون.في الأساس هذا هو الواجب المنزلي الذي لا أستطيع أن أفهم ما أفعله خطأ على.أعتقد أن لدي كل ما أحتاجه ولكن أظل الحصول على تيبيرور.أي مساعدة هي موضع تقدير.شكراً!
def Main():
Weight = float(input ("How much does your package weigh? :"))
CalcShipping(Weight)
def CalcShipping(Weight):
if Weight>=2:
PricePerPound=1.10
elif Weight>=2 & Weight<6:
PricePerPound=2.20
elif Weight>=6 & Weight<10:
PricePerPound=float(3.70)
else:
PricePerPound=3.8
print ("The total shipping cost will be $%.2f") % (PricePerPound)
Main()
المحلول
ال print()
إرجاع الوظيفة None
;ربما كنت تريد نقل %
العملية في استدعاء الدالة:
print ("The total shipping cost will be $%.2f" % PricePerPound)
لاحظ أن الخاص بك if
الاختبارات تستخدم بيتويز و المشغل &
;ربما كنت تريد استخدام and
بدلا من ذلك ، باستخدام المنطق المنطقي:
elif Weight >= 2 and Weight < 6:
PricePerPound = 2.20
elif Weight >= 6 and Weight < 10:
PricePerPound = 3.70
أو باستخدام تسلسل المقارنة:
elif 2 <= Weight < 6:
PricePerPound = 2.20
elif 6 <= Weight < 10:
PricePerPound = 3.70
تبحث على الاختبارات الخاصة بك ، يمكنك اختبار ل Weight >= 2
مبكر جدا;إذا Weight
ما بين 2 و 6 سوف تتطابق مع الأول if
وتجاهل البيانات الأخرى تماما.أعتقد أنك أردت:
PricePerPound = 1.10
if 2 <= Weight < 6:
PricePerPound = 2.20
elif 6 <= Weight < 10:
PricePerPound = 3.70
elif Weight >= 10:
PricePerPound = 3.8
على سبيل المثال.السعر 1.10 ، ما لم يكن لديك حزمة تزن 2 أو أكثر ، وبعد ذلك يرتفع السعر تدريجيا.
لا تنتمي إلى StackOverflow