Chúng ta có thể lấy đầu vào trong python rùa không?

Mô-đun con rùa cho phép chúng tôi phát hiện khi người dùng nhấn một số phím nhất định trên bàn phím hoặc di chuyển/nhấn chuột. Bất cứ khi nào người dùng thực hiện một hành động như vậy, nó được gọi là một sự kiện. Chúng ta có thể lắng nghe các sự kiện và kích hoạt các chức năng để chạy nếu chúng ta "nghe thấy" sự kiện

Phím bấm

Bước đầu tiên của chúng tôi là thiết lập một vài chức năng mà chúng tôi sẽ gọi khi nhấn một số phím nhất định

import turtle
import random

def up[]:
    tim.setheading[90]
    tim.forward[100]

def down[]:
    tim.setheading[270]
    tim.forward[100]

def left[]:
    tim.set_heading[180]
    tim.forward[100]

def right[]:
    tim.setheading[0]
    tim.forward[100]

# Setting the heading of the turtle simply faces it a certain direction

Để lắng nghe các sự kiện, chúng tôi gõ rùa. nghe[]

turtle.listen[]

Bây giờ chúng tôi đang lắng nghe các sự kiện, chúng tôi có thể kiểm tra xem một số sự kiện đã xảy ra chưa

import turtle
import random

def up[]:
    tim.setheading[90]
    tim.forward[100]

def down[]:
    tim.setheading[270]
    tim.forward[100]

def left[]:
    tim.set_heading[180]
    tim.forward[100]

def right[]:
    tim.setheading[0]
    tim.forward[100]

tim.listen[]

tim.onkey[up, "Up"]  # This will call the up function if the "Left" arrow key is pressed
tim.onkey[down, "Down"]
tim.onkey[left, "Left"]
tim.onkey[right, "Right"]

tim.mainloop[]  # This will make sure the program continues to run 



Sự kiện chuột

Bây giờ chúng ta có thể di chuyển con rùa xung quanh bằng các phím mũi tên, chúng ta muốn có thể thay đổi màu sắc của nó khi nhấp chuột trái và đóng dấu khi nhấp chuột phải

Đầu vào của người dùng đề cập đến thông tin mà người dùng cung cấp khi chạy chương trình để ảnh hưởng đến những gì chương trình thực hiện

Q-1. Ví dụ: một trò chơi trên máy tính có thể yêu cầu bạn nhập số lượng người chơi và tên của mỗi người. Bạn nghĩ trò chơi có thể sử dụng thông tin này để làm gì?

Python cung cấp lệnh input cho đầu vào của người dùng. Nó phải được gọi với một đối số chuỗi, bao gồm các ký tự được đặt trong các trích dẫn phù hợp. Đối số phải là một thông báo hoặc lời nhắc mà bạn muốn trình thông dịch in ra trước khi thu thập đầu vào

Để thực thi một lệnh input, trình thông dịch hiển thị một hộp nhập liệu trong đó nó in dấu nhắc [đối số]. Sau đó, nó đợi người dùng nhập nội dung nào đó vào hộp và nhấn phím enter hoặc nút OK, điều này báo hiệu rằng người dùng đã hoàn tất. Trình thông dịch sử dụng chuỗi ký tự do người dùng nhập vào hộp nhập làm giá trị nhập

Thông thường, bạn sẽ muốn gán giá trị đầu vào cho một biến để có thể sử dụng giá trị đó trong các lệnh sau này

Chương trình dưới đây cho thấy cách điển hình để nhận và sử dụng đầu vào. Chạy nó ba lần trở lên; . Sau đó nhấn phím enter hoặc phím OK

[Đảm bảo cuộn cửa sổ của bạn để bạn có thể thấy hộp đầu ra mà trình thông dịch tạo ra khi nó thực thi lệnh

turtle.listen[]
0. ]

Hãy khám phá cách bạn có thể sử dụng đầu vào trong chương trình Đồ họa rùa

Đọc chương trình dưới đây và dự đoán nó sẽ vẽ gì. Sau đó chạy nó để xác minh rằng bạn hiểu cách thức hoạt động của chương trình. Nếu bạn không chắc chắn, hãy trò chuyện với một người cố vấn về nó. Bạn nên hiểu chương trình trước khi tiếp tục

Chương trình này sẽ luôn vẽ một chuỗi hạt màu đỏ. Một chương trình hữu ích hơn có thể cho phép người dùng quyết định màu sắc để tạo ra các hạt

Để thực hiện việc này, hãy thay thế chuỗi

turtle.listen[]
1 ở dòng 7 của bằng

Bây giờ, khi bạn chạy chương trình và trình thông dịch đến dòng 7, nó sẽ hiển thị một hộp nhập liệu chứa lời nhắc và đợi bạn nhập nội dung nào đó vào hộp. Nhập tên của một màu khác [không có bất kỳ dấu ngoặc kép nào] vào hộp nhập liệu rồi nhấn enter. Nếu bạn gõ một tên màu đã biết, nó sẽ vẽ chuỗi hạt có màu này. Làm thế nào là mát mẻ đó

Ngoài màu hạt, bạn có thể để người dùng quyết định độ dài của chuỗi hạt và số lượng hạt trong chuỗi

Để cho phép người dùng chọn độ dài, hãy thử thay thế input0 bằng

input1

Q-4. Điều gì xảy ra khi bạn chạy chương trình sau khi thực hiện thay thế được đề xuất?

Xem liệu bạn có thể tìm thấy câu trả lời cho các câu hỏi sau bằng cách đọc thông báo trong hộp lỗi [hộp màu đỏ nhạt] hiện được hiển thị bên dưới cửa sổ trình soạn thảo

    Q-5. Trình thông dịch tìm thấy lỗi ở dòng nào?

  • dòng chứa input2

  • Không, lệnh này đã gán chuỗi ký tự mà bạn đã nhập vào hộp nhập liệu thành input3. Nhìn vào nội dung của số dòng được đề cập trong hộp lỗi

  • dòng chứa input4

  • Không, lệnh này đã gán chuỗi ký tự mà bạn đã nhập vào hộp nhập liệu thành input5. Nhìn vào nội dung của số dòng được đề cập trong hộp lỗi

  • dòng chứa input6

  • Đúng. Trình thông dịch không thể tính toán input7 vì input3 chứa một giá trị chuỗi — nghĩa là một chuỗi ký tự — và phép chia không được xác định cho các chuỗi

  • dòng chứa input9

  • Không, trình thông dịch ngừng thực thi chương trình khi xảy ra lỗi ở dòng 9. Vì vậy, nó thậm chí không bao giờ thực hiện dòng này

    Q-6. Tên của lỗi đã xảy ra là gì?

  • LoạiLỗi

  • Đúng. Trình thông dịch hiển thị loại lỗi ngay khi bắt đầu thông báo lỗi

  • TênLỗi

  • Không. Trình thông dịch hiển thị loại lỗi ngay khi bắt đầu thông báo lỗi

  • bộ phậnLỗi

  • Không. Trình thông dịch hiển thị loại lỗi ngay khi bắt đầu thông báo lỗi

  • Tổng lỗi

  • Không. Trình thông dịch hiển thị loại lỗi ngay khi bắt đầu thông báo lỗi

Để hiểu vấn đề mà chúng ta đang gặp phải, chúng ta cần nói về các loại giá trị

Mỗi ngôn ngữ lập trình cung cấp các loại giá trị khác nhau. Python cung cấp bốn kiểu dữ liệu nguyên thủy

  • input0

    • Để biểu diễn các số nguyên [số nguyên]

    • ví dụ

  • input1

    • Để biểu diễn số thập phân [số float]

    • ví dụ

  • input2

    • Để đại diện cho văn bản [chuỗi]

    • ví dụ

      'Coders rule!'
      
      "Practice makes perfect."
      
      """12/25/2020"""
      
      """Only tripled quoted strings can go for
         more than one line."""
      

  • input3

    • Để đại diện cho đúng hoặc sai

    • Các giá trị của loại input3 là

Phần rap của Mike về các biến và kiểu có thể giúp bạn ghi nhớ chúng và thậm chí có thể hiểu chúng tốt hơn một chút. Nhưng hãy nhớ rằng phần rap của Mike là về các ngôn ngữ chung và các kiểu trong Python đơn giản hơn một chút. Đặc biệt, Python không có kiểu input5 và nó không cho phép bạn viết kiểu này ở đầu câu lệnh gán

Được trang bị thông tin này về các loại, chúng ta hãy xem lại chương trình mà chúng ta đang làm việc và lỗi mà nó tạo ra

Chương trình được sao chép dưới đây và các lệnh input được thêm vào. Chạy chương trình này và nhập một số nguyên vào hộp nhập đầu tiên và tên màu trong hộp thứ hai

Thông báo lỗi cho bạn biết rằng trình thông dịch không thể thực hiện lệnh trên dòng 9 do lỗi loại [input7]. Nó cũng cho bạn biết rằng nó không thể thực hiện phép chia [______48] trên các giá trị của loại input2 và input0. Nhìn vào dòng 9, bạn có thể thấy rằng mã của bạn yêu cầu chia giá trị của input3 cho giá trị của enter2 và gán kết quả cho enter3. Vì vậy, vấn đề là, ở dòng 9, enter2 chứa một chuỗi, không phải số

Tại sao enter2 là một chuỗi? . Ví dụ: giả sử bạn chạy chương trình và nhập input0 vào hộp nhập liệu đầu tiên;

Làm thế nào bạn có thể khắc phục vấn đề này? . Nếu bạn gọi input0 bằng một chuỗi số, nó sẽ tạo và trả về giá trị input0 được đại diện bởi chuỗi đó. Ví dụ: OK3 trả về input0

Trong , thêm phép gán sau vào dòng 5

Sau đó chạy chương trình và kiểm tra xem nó không còn tạo ra lỗi nữa và bạn có thể yêu cầu chương trình vẽ các chuỗi hạt dài hơn và ngắn hơn có màu khác nhau

Cuối cùng, sửa đổi chương trình để hỏi người dùng số lượng hạt. Chương trình cuối cùng của bạn sẽ hỏi người dùng về độ dài để tạo chuỗi, số lượng hạt sẽ sử dụng và màu sắc. Sau đó, nó sẽ vẽ một chuỗi hạt có độ dài nhất định và chứa số lượng hạt có màu nhất định

Python Rùa có thể viết văn bản không?

Trong python, con rùa dùng để vẽ và viết văn bản trên màn hình . Chúng ta cũng có thể viết thư bằng con rùa. write[] với sự trợ giúp của rùa.

Rùa có tốt hơn tkinter không?

Mặc dù tkinter chủ yếu được sử dụng cho GUI [Nút, Tiện ích con và Văn bản], turtle chủ yếu được sử dụng cho giao diện người dùng [Hoạt hình và Trò chơi] . Ngoài ra, rùa được thiết kế như một cách để trẻ em học cách viết mã dễ dàng. Lưu câu trả lời này.

Con rùa có thể được sử dụng để làm gì trong Python?

rùa là một thư viện Python được cài đặt sẵn cho phép người dùng tạo ảnh và hình dạng bằng cách cung cấp cho chúng một canvas ảo . Cây bút trên màn hình mà bạn sử dụng để vẽ được gọi là con rùa và đây là tên gọi của thư viện.

Bạn có thể sử dụng tkinter và rùa cùng nhau không?

Có. Python rùa hoạt động ở hai chế độ, độc lập và được nhúng trong một chương trình tkinter lớn hơn . Thay vì Turtle và Screen, khi sử dụng rùa nhúng, bạn làm việc với RawTurtle, TurtleScreen và tùy chọn là ScrolledCanvas. Bạn xây dựng giao diện tkinter của mình khi cần, sử dụng Canvas để chứa đồ họa con rùa của bạn.

Chủ Đề