مرحباً جميعاً
المهمة المطلوبة
بإمكانك الإطلاع على المهمة المطلوبة من هنا
كيفية كتابة الأكواد في المنتدى
- إذا كان لديك كيبورد فرنسي, اضغط على alt gr و 7 لكتابة الرمز `
بإمكانك الإطلاع على المهمة المطلوبة من هنا
balance = 500
def withdraw(balance, request):
print(balance)
if request <= balance:
if request > 0 :
while request > 0 :
if request >= 100 :
request -= 100
balance -= 100
print("give 100")
elif request < 100 and request >= 50 :
request -= 50
balance -= 50
print("give 50")
elif request < 50 and request >= 10 :
request -= 10
balance -= 10
print("give 10")
elif request < 10 and request >= 5 :
request -= 5
balance -= 5
print("give 5")
else:
balance -= request
print("give",request)
break
else:
print("please try again")
else:
print("not enough money")
return balance
balance = withdraw(balance, 277)
balance = withdraw(balance, 30)
balance= withdraw(balance, 5)
balance = withdraw(balance, 500)
This text will be hidden
balance = 500
def withdraw(balance, request):
if request > balance:
print("Can't give you all this money !!")
elif request < 0:
print("More than zero plz!")
else:
while request > 0:
if request >= 100:
request -= 100
print("give 100")
elif request >= 50:
request -= 50
print("give 50")
elif request >= 10:
request -= 10
print("give 10")
elif request >= 5:
request -= 5
print("give 5")
elif request < 5:
print("give " + str(request))
request = 0
balance = withdraw(balance, 277)
balance = withdraw(balance, 30)
balance = withdraw(balance, 5)
balance = withdraw(balance, 500)
عمل رائع
كان بإمكانك اختصار السطر balance -= وكتابته في مكان واحد
عمل جميل !
هل انت متاكد من تغيير الرصيد في كل عملية سحب ؟
شكراً مهندس
لقد رأيت الحل الذي قدمته في الفيديو
منك نتعلم
صراحة لا
لاحظ مالذي تقوم هذه الأسطر في أكواد Yahya:
balance -= 100
def withdraw(balance , request):
print("balance: " + str(balance))
if balance < request:
print("Can't give you all this money !!")
elif request < 0:
print("More than zero plz!")
else:
balance = balance - request
while request > 0:
if request >= 100:
request -= 100
print("give 100")
elif request >= 50:
request -= 50
print("give 50")
elif request >= 10:
request -= 10
print("give 10")
else:
request -= 5
print("give 5")
return balance
السلام عليكم
اليكم محاولتي
balance = 500
blacknotes = [100, 50, 10, 5]
def withdraw(balance, request):
if request > balance:
print('Sorry! You have\'nt enough money')
elif request < 0:
print("More than zero plz!")
else:
print('Your balance is: '+str(balance))
while request > 0:
if request >= blacknotes[0]:
print('give '+str(blacknotes[0]))
request-= blacknotes[0]
elif request < blacknotes[0] and request >= blacknotes[1]:
print('give '+str(blacknotes[1]))
request-= blacknotes[1]
elif request < blacknotes[1] and request >= blacknotes[2]:
print('give '+str(blacknotes[2]))
request-= blacknotes[2]
elif request < blacknotes[2] and request >= blacknotes[3]:
print('give '+str(blacknotes[3]))
request-= blacknotes[3]
elif request < blacknotes[3]:
print('Can\'t give blacknote of: '+str(request))
break
balance-= request
print('New balance = '+ str(balance))
return balance
balance = withdraw(balance, 277)
balance = withdraw(balance, 30)
balance = withdraw(balance, 5)
balance = withdraw(balance, 500)
السلام عليكم ورحمة الله وبركاته
هذه محاولتي
def withdraw(balance, money):
r = int(input("Enter your request, plz :"))
money = r
result = balance
if money > balance:
print("Sorry we have not enough money!")
elif money < 0:
print("Please , the number should be greater than zero ")
else:
result = balance - money
print("Yes , just seconds.....")
while money > 0:
if money >= 100:
money -= 100
print("give 100")
elif money >= 50:
money -= 50
print("give 50")
elif money >= 10:
money -= 10
print("give 10")
elif money >= 5:
money -= 5
print("give 5")
elif money < 5:
print("give " + str(money))
money = 0
return result
balance = 1000
balance = withdraw(balance, 200)
balance = withdraw(balance, 200)
balance = withdraw(balance, 100)
print(balance)
حل مضبوط ونظيف
عمل جميل يا عادل
بالنسبة للسطر:
balance-= request
هل أنت متأكد من مكانه ؟
hint: watch debugging video
بما أنك استعملت list
ما رأيك تستعمل for loop على هذه القائمة ثم تقوم بالحصول على باقي القسمة باستعمال modulus operator:
5 % 2 = 1
4 % 2 = 0
250 % 100 = 50
حل رائع
ماهي فائدة المتغير r ؟
r = int(input("Enter your request, plz :"))
money = r
هل بإمكانك استعمل سطر واحد بدلاً من السطرين ؟
السلام عليكم ورحمة الله وبركاته
لاني حبيت اجعله اكتر تفاعلية
وطبعا حاولت اعدل في الدالة بحيث تقبل الارقام المدخلة لها فقط ما نفع
فاكتفيت باضافة
بس هي تعمل تاخذ من المستخدم الارقام وايضا اذا لم يدخل ارقام تعمل بالارقام الموجودة في استدعائها
وسأحاول ان اعدلها بحيث تقبل الارقام من المستخدم فقط؟ ودي مهمة بالنسبة لي مش سهلة ابدا!!
ما اقصد انه يمكن كتابة
money = int(input...
وبهذا نتخلص من المتغير r
تم التعديل
شكرا لحضرتك
هو ممكن يكتفي البرنامج بالارقام المدخلة من المستخدم فقط ؟
نعم والدالة int تضمن انه يدخل فقط ارقام
balance = 500
blacknotes = [100, 50, 10, 5]
def withdraw(balance, request):
if request > balance:
print('Sorry! You have\'nt enough money')
elif request < 0:
print("More than zero plz!")
else:
print('Your balance is: '+str(balance))
balance -= request
while request > 0:
if request >= blacknotes[0]:
print('give '+str(blacknotes[0]))
request-= blacknotes[0]
elif request < blacknotes[0] and request >= blacknotes[1]:
print('give '+str(blacknotes[1]))
request-= blacknotes[1]
elif request < blacknotes[1] and request >= blacknotes[2]:
print('give '+str(blacknotes[2]))
request-= blacknotes[2]
elif request < blacknotes[2] and request >= blacknotes[3]:
print('give '+str(blacknotes[3]))
request-= blacknotes[3]
elif request < blacknotes[3]:
print('Can\'t give blacknote of: '+str(request))
break
print('New balance = '+ str(balance))
return balance
balance = withdraw(balance, 277)
balance = withdraw(balance, 30)
balance = withdraw(balance, 5)
balance = withdraw(balance, 500)
balance = 500
blacknotes = [100, 50, 10, 5]
def withdraw(balance, request):
if request > balance:
print('Sorry! You have\'nt enough money')
elif request < 0:
print("More than zero plz!")
else:
print('Withdraw: ' , request)
print('Your balance is: ' + str(balance))
for blacknote in blacknotes:
while request >= blacknote:
print('give ' + str(blacknote))
request -= blacknote
balance -= blacknote
if request % 5 != 0:
print('give ' + str(request) + ' pieces')
balance -= request
request = 0
print('New balance = '+ str(balance))
return balance
balance = withdraw(balance, 277)
balance = withdraw(balance, 30)
balance = withdraw(balance, 5)
balance = withdraw(balance, 500)
شكرا جزيلا أستاذنا الغالي @yaserAlnajjar
أصبح الكود رائع جداً يا عادل … well done