Tại sao khi thêm or vào thì chương trình chạy sai kết quả?

Tại sao thêm or vào lại bị lỗi như thế ạ ???

or q == "3"
không phải or "3"
Do chuỗi "3" là true.
test bằng bool("3") là rõ :stuck_out_tongue:

3 Likes

Không biết trường hợp kiểu này thì viết gọn kiểu gì cho hay nhể :smile: em hay viết kiểu q in ['2', '3']

2 Likes

TKs mọi người nhiều :+1: :relaxed:

1 Like

elif q in ‘23’ luôn, ngắn hơn :laughing: trong Python chuỗi cũng như tuple mà

2 Likes

Mọi người cho mình hỏi luôn tại sao kết quả luôn in ra > 0?

so1 = raw_input("Nhap so a\n")

if so1 > 0:
	print so1,">0"
else :
	print so1,"<0"

Kết quả khi nhập 5 là 5 > 0 và khi nhập -5 là -5 > 0???

kết quả trả về từ raw_input là chuỗi. so1 là chuỗi. so1 > 0 là so sánh string với int. Vì khác kiểu nên tùy phiên bản sẽ trả về kết quả khác nhau. Python 3 sẽ báo lỗi so sánh khác kiểu. Python 2 sẽ so sánh theo tên của kiểu đó: “int” < “str” (i đứng trước s trong bảng chữ cái) nên bất kì chuỗi nào cũng cho kết quả > bất kì số nào.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?