CÂU HỎI VỀ PYTHON CƠ BẢN III



  • Em viết code test nó không báo lỗi nhưng không hiểu sao các công thức tính của em không chạy được. Các anh chị giúp em với ạ :(

    print "Phong's Restaurant Menu".upper()
    print "Please choose the appropriate dishes which you like!".upper()
    print "Donkey $10 "
    print "Turtle $20 "
    tips = 15/100
    tax = 5/100
    Donkey_price = 10
    Donkey_price_with_tax = Donkey_pricetax + Donkey_price
    Donkey_price_with_tips = Donkey_price
    tips + Donkey_price
    Donkey_total_price = Donkey_pricetax + Donkey_pricetips + Donkey_price

    Turtle_price = 20
    Turtle_price_with_tax = Turtle_pricetax + Turtle_price
    Turtle_price_with_tips = Turtle_price
    tips + Turtle_price
    Turtle_total_price = Donkey_pricetax + Donkey_pricetips + Donkey_price

    both_price = Donkey_price + Turtle_price
    both_price_with_tax = both_pricetax + both_price
    both_price_with_tips = both_price
    tips + both_price
    both_total_price = both_pricetax + both_pricetips +both_price

    question = raw_input("What dishes do you want between Donkey and Turtle or both?")
    def price():
    if question == "Donkey":
    return "So It takes $%s. " % (Donkey_price)
    elif question == "Turtle":
    return "So It takes $%s." % (Turtle_price)
    else:
    return "So It takes $%s." % (both_price)
    def price_with_tax():
    if question == "Donkey":
    return "So it takes $%s including taxes." % (Donkey_price_with_tax)
    if question == "Turtle":
    return "So it takes $%s including taxes." % (Turtle_price_with_tax)
    else:
    return "So it takes $%s including taxes." % (both_price_with_tax)
    def price_with_tips():
    if question == "Donkey":
    return "So it takes $%s including tips." % (Donkey_price_with_tips)
    elif question == "Turtle":
    return "So it takes $%s including tips." % (Turtle_price_with_tips)
    else:
    return "So it takes $%s including tips." % (both_price_with_tips)
    def total_price():
    if question == "Donkey":
    return "So the total cost is $%s." % (Donkey_total_price)
    elif question == "Turtle":
    return "So the total cost is $%s." % (Turtle_total_price)
    else:
    return "So the total cost is $%s." % (both_total_price)
    print "The price is $%s" % (price())
    print "So the price with taxes is $%s" % (price_with_tax())
    print "And the price with tips is $%s" % (price_with_tips())
    print "Finally, the total price is $%s" % (total_price())
    print "Thank you. Have a good meal."

    0_1470102414536_Screen Shot 2016-08-02 at 08.43.50.png

    p/s: em tab đày đủ rồi ạ do copy lên đây nó tự ghi sát dòng ạ. Và các dấu nhân chia của em copy lên đấy nó cũng không hiện ạ.



  • @Không-Ai Anh ơi ... :(
    Trong code em có nhân chia đầy đủ rồi ạ nhưng copy lên đây nó không hiện ra ạ. Em không hiểu sao các công thức tính của em nó không chạy ạ :(
    0_1470102503574_Screen Shot 2016-08-02 at 08.48.12.png



  • Em có thể thu gọn vùng bị lỗi không :)) Dài quá a đọc hơi hoang mang



  • @Không-Ai
    Dạ tức là nó không báo lỗi. Chương trình vẫn chạy ạ. Nhưng các công thức thì lại không chạy. Em giới hạn lại thì là như thế này ạ:
    tips = 15/100
    Donkey_price = 10
    Donkey_price_with_tips = Donkey_pricetips + Donkey_price
    Turtle_price = 20
    Turtle_price_with_tax = Turtle_price
    tax + Turtle_price
    both_price = Donkey_price + Turtle_price
    both_price_with_tips = both_price*tips + both_price

    question = raw_input("What dishes do you want between Donkey and Turtle or both?")

    def price():
    if question == "Donkey":
    return "So It takes $%s. " % (Donkey_price)
    elif question == "Turtle":
    return "So It takes $%s." % (Turtle_price)
    else:
    return "So It takes $%s." % (both_price)
    def price_with_tips():
    if question == "Donkey":
    return "So it takes $%s including tips." % (Donkey_price_with_tips)
    elif question == "Turtle":
    return "So it takes $%s including tips." % (Turtle_price_with_tips)
    else:
    return "So it takes $%s including tips." % (both_price_with_tips)

    print price()
    print price_with_tips()

    Thì nếu em nhập là Donkey thì đáng lẽ ra nó phải chạy là :
    So it takes $10
    So it takes $11.5 including tips.
    Nhưng nó lại ra là:
    So it takes $10
    So it takes $10 including tips.
    Nghĩa là cái donkey_with_tips em đã cho bằng Donkey_price*tips + Donkey_price mà đến khi trả kết quả cuối cùng nó lại không tính, nó vẫn ra kết quả ban đầu là $10 ạ. :(



  • Lỗi này là do python nó tự làm tròn cho em nên vậy để sửa em thay tips = 15/100 thành tips = float(15)/100


Hãy đăng nhập để trả lời
 

Có vẻ như bạn đã mất kết nối tới Cộng đồng Python Việt Nam, vui lòng đợi một lúc để chúng tôi thử kết nối lại.