Câu hỏi về if/else cơ bản em là newbie em bí quá ạ mong anh chị giúp đỡ ạ :(



  • Em mới học cơ bản về if/else trong Python. Em muốn thực hành thử viết đoạn code theo ý mình ạ. Nhưng khi em viết thì chương trìnnh không chạy được và em không hiểu vì sao nên em mong các anh/chị giúp đỡ em ạ.

    Đoạn code mà em thử thực hành như sau: trước hết em muốn đặt câu hỏi "Bạn muốn đi từ nhà đến Đà Nẵng hay đi từ nhà đến Hội An hay đi từ nhà đến Đà Nẵng rồi đến Hội An?".

    Em sẽ tạo 4 variables là "khoảng cách từ nhà đến Đà Nẵng = 40km", "khoảng cách từ nhà đến Hội An = 80km", "khoảng cách từ Đà Nẵng đến Hội An = 60km" và "khoảng cách từ nhà đến Đà Nẵng rồi đi đến Hội An = khoảng cách từ nhà đến Đà Nẵng + khoảng cách từ Đà Nẵng đến Hội An".

    Sau đó em tạo statements if/else sẽ có 3 trường hợp:
    TH1: trả lời "đi Đà Nẵng" thì sẽ print "khoảng cách từ nhà đến Đà Nẵng"
    TH2: trả lời "đi Hội AN" thì sẽ print "khoảng cách từ nhà đến Hội An"
    TH3: trả lời "đi Đà Nẵng rồi đến Hội An" thì sẽ print "khoảng cách từ nhà đến Đà Nẵng rồi đi đến Hội An"

    Nhưng khi em viết code nó không chạy được mong anh chị check và giúp đỡ em với ạ. Em là newbie nên chưa hiểu rõ lắm về statements if/else cũng như các statements chuyên sâu nên em mong anh chị giải thích giúp em một cách đơn giản ạ. Em vô cùng cảm ơn ạ.
    (dưới đây là đoạn code của em mà hệ thống không chạy được)

    question = raw_input("Ban muon di tu nha den Da Nang hay den Hoi An hay den Da Nang roi den Hoi An?")
    khoang_cach_tu_nha_den_Da_Nang = 40
    khoang_cach_tu_nha_den_Hoi_An = 80
    khoang_cach_tu_Da_Nang_den_Hoi_An = 50
    khoang_cach_tu_nha_den_Da_Nang_roi_den_Hoi_An = khoang_cach_tu_nha_den_Da_Nang + khoang_cach_tu_Da_Nang_den_Hoi_An
    if question = "Da Nang":
    print khoang_cach_tu_nha_den_Da_Nang
    elif question = "Hoi An":
    print khoang_cach_tu_nha_den_Hoi_An
    else:
    print khoang_cach_tu_nha_den_Da_Nang_roi_den_Hoi_An



  • Không rõ bạn không chạy được là lỗi hay kết quả không như ý bạn vậy :D mình cần biết kết quả bạn trả về thì mới phán được :D



  • Mình test thử code của bạn thì code của bạn có mắc lỗi sau nhá. Ở điều kiện if bạn cần sử dụng dấu == thay vì = để so sánh dấu = chỉ sử dụng để gán giá trị cho biến thôi. Một lỗi nữa có thể là do hiển thị trên web nhưng mình vẫn nhắc đó là các dòng lệnh bên trong điều kiện cần cho lùi đầu dòng lại. Chỉ vậy thôi, bạn test lại thử xem



  • @Không-Ai
    Ồ tuyệt vời được rồi ạ. Em cảm ơn anh nhiều ạ. ^_^ Nhưng anh ơi ở đoạn code trên em mới chỉ print 40, 80, 100 để biểu diễn khoảng cách thôi ạ. Nếu em để variable = "40km" thì cái "khoảng cách từ nhà đến đà nẵng rồi đến hội an" sẽ không cộng được với nhau. Vậy làm thế nào để cộng " khoang_cach_tu_nha_den_Da_Nang_roi_den_Hoi_An = khoang_cach_tu_nha_den_Da_Nang + khoang_cach_tu_Da_Nang_den_Hoi_An " mà vẫn có đơn vị km đi kèm ạ? Em cảm ơn anh nhiều



  • @Không-Ai
    Và cái code của em chỉ print ra ví dụ 40 nếu em trả lời là Đà Nẵng. Nhưng em muốn nâng cao 1 chút, print một câu đầy đủ nhưng vẫn kết hợp được cả value của biến mà em tạo ở trên ạ. Vậy em có thể print kiểu:
    print "Vậy bạn phải đi" (tên biến:khoang_cach_tu_nha_den_Da_Nang) "km" không ạ hay em phải làm như thế nào ạ?
    Em cảm ơn nhiều ạ



  • @Quốc-Phong Để tách được số ra khỏi chữ thì bạn cần tìm hiểu thêm về regular expression nhá. Cụ thể là bạn phải import re sau đó tách phần số trong chuỗi bằng pattern r'\d*'. Nói thế thôi :)) tìm hiểu thêm cho nhớ lâu.



  • @Quốc-Phong Để ghi biến kết hợp chữ bạn xem link này nhá https://pyformat.info/ :)) lý do như trên



  • @Không-Ai
    Anh ơi ở codecademy thì em chưa học đến regular expression hay import re gì đấy hay sao ý ạ. Em thử search google thì đọc không hiểu lắm ạ :(



  • @Quốc-Phong chắc giờ chưa đề cập đến đâu em phải học từ từ thôi, nhưng mà regular expression khá là phổ biến chắc dễ tìm tài liệu em bình tĩnh đọc xem sao :D nếu chỉ miệng thì a chỉ được chứ viết thì anh không biết chỉ sao :D



  • @Không-Ai Vậy em cảm ơn anh ạ :)



  • Cách 1(cộng chuỗi):
    print "Vậy bạn phải đi" + str(bien) + "km"
    Cách 2: Tách chuỗi
    Ví dụ:
    strChuoi = 40km
    result = strChuoi[0:-2]



  • @hvcuongit
    Em cảm ơn ạ



  • Cố lên em =)


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.