Chương trình tự động trả lời khi user nhập thông tin

Chào mọi người.

Mình mới học về Python và đang là 1 bài tập về việc trả lời tự động.

Tức là mỗi khi user nhập thông tin… nó sẽ kiểm tra nội dung thông tin user nhập và lựa chọn câu trả lời.

Đoạn code bên dưới mình viết nó chạy chưa được chuẩn… khi user nhập sai nó có hiển thị thông báo, nhưng sau đó user nhập tiếp thì nó không hiển thị ra câu trả lời.

Rất mong mọi ng kiểm tra và sửa giúp mình nhé. Hoặc nếu ai có bài tập ví dụ về việc này thì cho mình xin nhé

Mình xin cảm ơn!

flag=True
print("Chao ban den voi chuong trinh ho tro tu dong... Vui long chon number code nhu ben duoi")
print(" ")
print("1. Excel")
print("2. Print")
print("3. Thoat ra")
while(flag==True):
    user_response = input()
    user_response=user_response.lower()
    if(user_response == '1'):
        suco = input("Ban vui long dien ta thong tin su co")
        if 'cham' in suco:
            print(" Vui long doi trong giay lat")
        else:
            print("Vui long dien ta cu the hon su co ban dang gap phai")
girl1 = 'khuyen le minh'
girl2 = 'ngoc trinh'
girl3 = 'maria ozawa'
girl4 = 'sontungmtp'

girls = [girl1, girl2, girl3, girl4]

print('Trong những người dưới đây, ai là người yêu cũ của bạn? \nLáo làm con heo nha!')
print(girl1 + '\n' + girl2 + '\n' + girl3 + '\n' + girl4 + '\n')

while True:
	exGirlFriend_name = input('\nNgười yêu cũ của tui là: \t').lower()
	if exGirlFriend_name in girls:
		print('Đù! Yêu ' + exGirlFriend_name + 'luôn ta!')
		break
	else:
		print('Láo! Đồ con lợn! ' + exGirlFriend_name + ' là con nào?')

exit()
4 Likes

Hi Bro :slight_smile:

Cảm ơn bạn nhiều nhé.

Bạn cho mình hỏi them chút . Mình muốn hiển thị 1 thông báo cho user lựa chọn … sẽ đợi user lựa chọn trong khoảng 5s… hết 5s sẽ hiển thị lên thông báo “Bạn đã chọn xong chưa ??”… nhưng nếu chưa hết 5s mà user input kết quả thì nó sẽ break khỏi sự kiện Sleep…

Code như nào vậy bạn ? Mình có ví dụ như bên dưới nhưng chưa tìm đc cách để khi user nhập cái thì nó bỏ qua sự kiện Sleep luôn…

    def mainmenu():
            print ('1. 1 File excel bi cham')
            print ('2. Toan bo chuong trinh excel bi cham')
            print ('3. Exit')
            while(True):
                masuco = input()

                if masuco == '1':
                    print("Option1")
                elif masuco == '2':
                    print("Option2")         
        mainmenu(

Bạn google theo keyword “python keyboard input timeout” và “python interrupt sleep()”

4 Likes

Cảm ơn bạn nhiều nhé.

Mình muốn hỏi bạn 1 câu cuối… sorry bạn vì mình mới tìm hiểu python dc mấy hôm nên chưa rành lắm.

Mình đã viết xong 1 file .py … giờ làm thế nào để public cho user sử dung được file này mà user không cần phải cài Python và install các thư viện liên quan ?

Hoặc có cách nào đóng gói nó thành 1 phần mềm và cài chạy tự động lên máy user không ?

Mình xin cảm ơn!

  • Ban có thể dùng python cho web, google từ khoá “python flask” hoặc “python bottle” hoac “python django”
  • Có thể đóng gói để user cài và chạy trên máy của họ, bạn google “python standalone executable”, có rất nhiều lựa chọn.
4 Likes

Hi bạn.

Mình có 1 local website tại công ty… mình muốn attach chương trình này lên web… sau đó user vào con local web đó qua trình duyệt, tìm và mở chương trình Python đó lên… nó sẽ ra kiểu giao diện Terminal hoặc giao diện cửa sổ nào đó như dạng hỏi và đáp tự động :slight_smile:

Cảm ơn bạn nhiều nhé.

Hi cậu.

Cậu cho mình hỏi 1 câu cuối cùng nhé… Mình đang có khó khan trong đoạn code này.

Khi hiển thị 1 thông báo yêu cầu user nhập thông tin… nếu user nhập sai thì chtrinh sẽ hiển thị trông báo yêu cầu user nhập lại…

Nhưng trong đoạn code của mình thì khi user nhập sai và sau đó nhập lại thi chương trình không ra gì… Không biết logic thiếu code đoạn nào cậu nhỉ ?

if 'cham' in suco:
        print("PAPVN-IT: Ban vui long làm theo 1 so cach sau")
        print("Buoc1: Ban hay kiem tra xem file nao bi cham hay toan bo cac file..??")
        print(" ")
   
        def mainmenu():
            print ('1. 1 File excel bi cham')
            print ('2. Toan bo chuong trinh excel bi cham')
            print ('3. Exit')
            while(True):
                masuco = input()

                if masuco == '1':
                    print("Ban vui long lam theo cac buoc sau: ")
                    print("Buoc1: Save toan bo cac file excel ")
                elif masuco == '2':
                    print("Updating.....!")         
        mainmenu()
        
    elif 'treo' in suco:
        print("Me: Excel cua ban bi treo ??")
    else:
        print("Me: Vui long dien ta cu the hon su co ban dang gap phai")

Cách đơn giản nhất là dùng vòng lập While, khi nào user nhập đúng thì break ra và chạy tiếp phần khác, mình đã đưa ví dụ ở comment đầu tiên (Cái while(true) bạn viết bên trên thiếu break)

4 Likes

Mình cảm ơn cậu rất nhiều.

Làm thế nào để user gõ dc tiếng việt và hiển thị đc tiếng việt có dấu trên cửa sổ Terminal cậu nhỉ ?

Khi mình viết trên Python thì không vấn đề gì… nhưng khi build ra file exe và mở trên 1 máy khác thì font tiếng việt bị lỗi.

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