01/10/2018, 08:17
Code này sai ở đâu vậy ạ
from sys import exit
def cam_xuc():
camxuc = input("Ban dang cam thay nhu the nao? vui hay buon?
>")
if camxuc == ("vui" or "buon"):
mau_sac()
else:
print("Vui long nhap lai!")
cam_xuc()
def quan_ao():
ao = input("Ban muon mac ao gi?
Chung toi co cac loai ao sau: %s
--->" % loai_ao)
quan = input("Ban muon mac quan gi?
Chung toi co cac loai quan sau:%s
--->" % loai_quan)
if ao ==("ao coc" or "ao so mi" or "ao len" or "ao khoac") and quan == ("quan coc" or "quan jean" or "quan dai"):
cam_xuc()
return ao, quan
else:
print("Vui long nhap lai!")
quan_ao()
def mau_sac():
mau_quan = input("Ban muon chon mau quan nao cho minh %s?
>" % mau)
mau_ao = input("Ban muon chon mau ao nao cho minh %s?
>" % mau)
if mau_quan == ("Do" or "Cam" or "Luc" or "Lam" or "Tram" or "Vang" or "Tim" or "Den" or "Trang") and mau_ao == ("Do" or "Cam" or "Luc" or "Lam" or "Tram" or "Vang" or "Tim" or "Den" or "Trang"):
if cam_xuc() == "vui":
mau = ("Do, Cam, Vang, Luc, Lam, Trang")
mau_sac()
elif cam_xuc() == "buon":
mau = ("Tram, Tim, Den")
mau_sac()
return mau_quan, mau_ao
phoi_do()
else:
print("Vui long nhap lai!")
mau_sac()
def thoi_tiet():
while True:
thoi_tiet = input("Thoi tiet hom nay the nao?
nong, lanh hay mat?
>")
if thoi_tiet == ("nong" or "lanh" or "mat"):
if thoi_tiet == "nong":
loai_ao = ("ao coc, ao so mi")
loai_quan = ("quan coc, quan jean, quan dai")
quan_ao()
elif thoi_tiet == "lanh":
loai_ao = ("ao so mi, ao len, ao khoac")
loai_quan = ("quan jean, quan dai")
quan_ao()
else:
loai_ao = ("ao coc, ao so mi, ao len, ao khoac")
loai_quan = ("quan coc, quan jean, quan dai")
quan_ao()
else:
print("Vui long nhap lai!")
thoi_tiet()
def phoi_do():
print("Quan ao ma ban chon duoc la: %s %s" % (quan_ao(), mau_sac()))
thoi_tiet()
Bài liên quan
Khi code bằng Python, bạn nên kiểm tra kỹ các “indentation level”. Bạn đang dùng tab và khoảng trắng lẫn lộn.
chỗ nào vậy bạn giúp mk với bạn nói rõ giúp mk đi
Đây là đoạn mk code khi chạy nó cứ báo lỗi bạn xem giúp mk với
Bạn đặt tên biến
thoi_tiet
trùng với tên hàm kìa (hàm nào cũng có). Tốt nhất là bạn nên để code của bạn ở chỗ pastebin.com thì mọi ngừoi dễ test hơn, và lần sau nhớ nói lỗi để mình khỏi phải dò từng dòng nữa .Bạn đã dùng vòng lặp vô hạn thì đừng gọi đệ quy hàm nữa. Dễ rối lắm.
mình cảm ơn bạn lần sau mk sẽ rút kinh nghiệm
đoạn code mình mới sửa lại nhưng dòng cuối vẫn lỗi cú pháp bạn ạ
trong hàm thoi_tiet, elif và else lùi vào cùng level với if nhiet_do = "nong"
cảm on bạn mình đã sửa chỗ đó rồi nhưng nó vẫn báo lỗi cú pháp dòng cuối bạn à
Vẫn là lỗi “indentation” trong hàm
thoi_tiet
Các biến trong hàm
phoi_do
chưa được định nghĩa. Hoặc bạn dùng biến toàn cục hoặc truyền tham số.khó quá à bạn ơi
nó lỗi đoạn nào vậy chỉ mình với loay hoay từ trưa giờ
Mình nghĩ là bạn bắt đầu đọc thêm sách đi và thực hành song song. Thực hành với các ví dụ dễ thôi, đến khi làm quen được cú pháp thì mới bắt đầu tạo chương trình hoàn chỉnh. Nôn nóng quá không giúp được gì đâu bạn
cảm ơn bạn
mk đang hk quyển learnpythonthehardway đến bài này bạn à chắc do kiến thức mình chưa đủ
Tạm nhìn ra mấy lỗi sau:
Đầu tiên là phải chạy bằng python 3: hàm input trong python 2 khác với input trong python 3
thay cái biên
thoi_tiet
ở hàmthoi_tiet
đi, đừng để nó trùng tên hàmCái điều kiện này bị sai:
("nong" or "lanh" or "mat")
luôn ra kết quả là “nong”, dẫn đếnthoi_tiet == ("nong" or "lanh" or "mat")
sẽ tương ứng với:Chứ không phải là thoi_tiet là một trong 3 cái nong lanh mat
Mình mới đọc code đến đây thôi, bạn tự sửa tiếp nhá
Dòng 83 của bạn phải tab đúng với dòng print bên trên.
Do python không có dấu {} để đóng khối lệnh trong hàm hay class nên phải dùng tab cho chuẩn
Không phải đâu bạn, thoi_tiet() đặt ở ngoài ý là chương trình khi chạy sẽ gọi hàm thoi_tiet đầu tiên
Lỗi tại dòng 83 syntax error là do cái dòng print ở trên thiếu 1 dấu đóng ngoặc
Sorry, mình không rõ chương trình của bạn ấy chạy thế nào
Do không còn viết tràn lan như xưa nữa, hàm nào chạy đầu tiên thì cứ bỏ vào
if(__name__ == __main__):
cho mình hỏi làm sao để cho cái dòng “thoi_tiet == (“nong” or “lanh” or “mat”)” làm sao để nó chạy như ý mình muốn vậy chứ viết từng cái ngại lắm
Biết nó sai mà cứ viết vào, xong lên diễn đàn bắt ae debug là sao XD, làm mình tưởng chiêu thức mới XD lục tung learn python the hard way không thấy chỗ nào viết như trên XD
Viết như này nhá bạn:
cảm ơn bạn tại mk ngĩ thấy nó đúng đúng nên viết vào thử chạy
ban cho minh nick face dc k vay
Hỏi trên diễn đàn cũng được bạn