Python cơ bản: Dictionaries và List mong anh chị giúp đỡ em với ạ :(



  • Dự định của em là như thế này ạ: Em định làm một cuộc thi xổ số. Trong đó ví dụ giải ba sẽ gồm 3 loại giải thưởng (vở, bút, thước kẻ) và gán giá trị cho chúng tức là kiểu có 30 quyển vở, 20 cái bút và 10 cái thước kẻ cho giải 3. Tương tự giải 2 và nhất cũng thế. Xong em muốn print ra là vậy tổng cộng trò chơi này sẽ có (số giải thưởng = giải ba(gồm 30 vở + 20 bút + 10 thước) + tương tự 2 giải còn lại. Sau đó em hỏi ngta chọn số từ 0-10 và tuỳ theo số ngta chọn sẽ xem được giải nào. Và đây là kết quả và nó không ra như em mong muốn ạ. Các anh chị giúp em với ạ tại em học xong bây giờ thấy hơi loạn nên code em có thể có những chỗ ngớ ngẩn, em thử scan lại mấy bài đã học mà không có ra ạ :(
    p/s: +) cái ý tưởng gán cho mỗi phần thưởng số lượng tương ứng (ví dụ vở thì gồm 30 quyển) thì em chưa có nghĩ ra nên trong code của em mới tạm thời coi giải ba gồm vở, bút, thước (tức 1 vở, 1 bút, 1 thước). Các anh chị có thể gợi ý cho em để triển khai ý tưởng ban đầu được không ạ :(
    +) đoạn code thì khi chọn 1 số nó lại NONE không trả về kết quả nào hết ạ.
    +) đoạn print "there are" + str(len(loterry)) + "prizes" thì nó trả về là số 3 tương ứng với 3 keys trong dictionary đó trong khi em muốn nó print ra cả số lượng các index trong list nữa cơ ạ :(
    Các anh chị có thể gợi ý cho em với được không ạ :( Em cảm ơn rất nhiều ạ.

    print "Could you please give me some information about your self?"
    guest_name = raw_input ('Your full name, please?')
    guest_age = raw_input ('Your age, please?')
    guest_tel = raw_input ('And your telephone number, please?')
    print "So here's your information:	Full name: %s                  Age:%s                      Tel:%s   " % (guest_name, guest_age, guest_tel)
    print "Let's play a game."
    loterry = {"third_prize = ['notebook','ruler','pen']",
    			"second_prize = ['adidas F10 football shoes', 'nike Hypervenom football shoes']",
    			"first_prize = ['Iphone 7']",
    
    
    
    }
    print " So there are totally " + str(len(loterry)) + " prizes. Try your luck!"
    print "Now, you are gonna pick one of the number from 0 to 10."
    quest = raw_input("What number do you choose ?")
    def the_loterry():
    	if quest == "1" or quest == "0" or quest == "10" or quest == "7" or quest =="9":
    		print "Congratulation! You won the third prize. Just choose one of all items: %s" %(loterry['third_prize'])
    	elif quest == "2" or quest == "5":
    		print "Congratulation! You won the second prize. Just choose one of all items: %s" %(loterry['second_prize'])
    	elif quest == "3":
    		print "Congratulation! You won the first prize. Your prize is an %s" %(loterry['first_prize'])
    	else:
    		print "Bad Luck :( See you again."```
    
    @hoangvu1813 
    Đây là kết quả ạ 
    ![0_1471263413360_Screen Shot 2016-08-15 at 19.08.53.png](/uploads/files/1471263411682-screen-shot-2016-08-15-at-19.08.53.png)


  • Sao em không post ảnh lên được vậy anh nhỉ? :(
    Đây là kết quả ạ :

    LADY AND GENTLEMENT! Welcome to our Loterry. Chance to get Iphone 7!!!
    Could you please give me some information about your self?
    Your full name, please?Phong
    Your age, please?100
    And your telephone number, please?0991xxxxxx
    So here's your information: Full name: Phong Age:100 Tel:0991xxxxxx
    Let's play a game.
    So there are totally 3 prizes. Try your luck!
    Now, you are gonna pick one of the number from 0 to 10.
    What number do you choose ?9
    (kết thúc chương trình)





  • Bài gửi này đã bị xóa!


  • Theo anh nghĩ thì vì em chưa thực thi hàm the_loterry() nên chương trình chả cho ra kết quả gì cả



  • @Không-Ai Anh em thử print def the_loterry() ra rồi ạ và e test thử trên Sublime thì nó không báo lỗi. Nhưng đến khi chạy trên Terminal nó vẫn chạy bình thường cho đến đoạn "...choose number" gõ xong nó lại báo lỗi ạ :( 0_1471358107600_Screen Shot 2016-08-16 at 21.33.51.png
    code em chỉ thêm đúng cái in hàm the_loterry() ra thôi ạ :(



  • @Không-Ai Con cách để in số lượng tất cả các giải ra thì như thế nào vậy anh ? :(



  • @Quốc-Phong Em bị thiết lập cái thư viện sai rồi nhá. Nó phải như thế này

    loterry = {"third_prize" : ['notebook','ruler','pen'], "second_prize": ['adidas F10 football shoes', 'nike Hypervenom football shoes'], "first_prize" : ['Iphone 7']}
    


  • @Không-Ai ok ạ :) mà anh để để post code trên cộng đồng python này mà code nằm trong cái ô đen đen và chữ đổi màu như anh thì làm kiểu gì vậy ạ?



  • @Quốc-Phong Mở đầu bằng 3 dấu phẩy trên là phím ~ đó và kết thúc tương tự



  • @Không-Ai Em cũng làm thế mà nó toàn ra như này ạ?
    print "Hey"



  • sau khi gõ 3 dấu đó thử xuống dòng r bắt đầu code xem nào



  • @Không-Ai Không được ạ :( 1_1471531621607_Screen Shot 2016-08-18 at 21.46.39.png 0_1471531621606_Screen Shot 2016-08-18 at 21.46.25.png



  • 0_1471532040011_Capture.JPG



  • mình nghĩ với bài toán đoán số điển hình như này thì nên dùng module random =) ý kiến cá nhân thôi nhé


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.