SlideShare uma empresa Scribd logo
1 de 74
PYTHON
GIỚI THIỆU VỀ PYTHON
Mở IDLE. Để tạo file mới trong IDLE bạn nhấp vào File > New Windows hoặc nhấn tổ hợp phím tắt Ctrl + N.
Sao chép đoạn code Python:
print("Xin chào!")
vào file vừa tạo, rồi nhấn Ctrl + S để lưu. File sẽ có đuôi là .py, đặt một cái tên cho nó, chẳng hạn: firstProg.py.
print("Xin chào!")
Nhấn Run > Run module hoặc F5 để xem kết quả.
Xin chào!
Tìm hiểu chương trình Python đầu tiên
Như đã đề cập ở những bài viết trước, Python là ngôn ngữ lập trình rất dễ để học, và việc tạo ra chương
trình "Hello, World!" lại càng đơn giản, bạn chỉ cần viết dòng code print("Hello, World!").
Vì thế, chúng ta sẽ đi tìm hiểu một chương trình khác, cũng đơn giản thôi, để bạn hiểu thêm một chút về
ngôn ngữ lập trình này. Tạm đặt tên nó là Thêm hai số:
# Them hai so va in tong
num1 = 6
num2 = 9
sum = num1+num2
print(sum)
Đoạn code trên sẽ làm gì?
Dòng 1: # Them hai so va in tong
Bất kỳ dòng code nào trong Python bắt đầu với dấu # sẽ là chú thích, bình luận. Nó được sử dụng để mô tả
về đoạn code bên dưới dùng để làm gì. Điều này sẽ giúp cho những người đọc code, hiểu code rõ hơn.
Những dòng bắt đầu với # sẽ được các trình biên dịch code và trình phiên dịch code bỏ qua.
Dòng 2: num1 = 6
num1 ở đây là biến, bạn có thể lưu trữ giá trị trong biến và trong trường hợp này, num1 lưu giá trị 6.
Dòng 3: num2 = 9
Tương tự như trên, 9 được lưu trữ trong num2.
Dòng 4: sum = num1+num2
Tổng của biến num1 và num2 được lưu trữ trong một biến khác là sum.
Dòng 5: print(sum)
Hàm print() in đầu ra trên màn hình. Trong trường hợp này nó sẽ in kết quả 15 trên màn hình, sau khi bạn
nhấn F5.
Writing Programs in Python
# YourName.py
name = input("What is your name?n")
print("Hi, ", name)
MadLib.py
name = input("Your name: ")
age = input("Your age: ")
location = input("Your location: ")
print('Hello', name, age, 'from', location)
Từ khóa và định danh trong Python
• Keyword của Python như đã nói là những từ chỉ dành riêng cho Python.
• Bạn không thể sử dụng những keyword này để đặt tên cho biến, hay sử dụng chúng như các hằng, tên
định danh.
• Trong Python, ngoại trừ True, False và None được viết hoa ra thì các keyword khác đều được viết
dưới dạng chữ thường, đây là điều bắt buộc.
Keyword của Python
Định danh trong Python
• Định danh là tên gọi của các thành phần trong chương trình Python như tên biến, tên hằng, tên kiểu, tên hàm, v.v..
• Nó giúp phân biệt thực thể này với thực thể khác.
Quy tắc đặt định danh trong Python như sau:
 Định danh chỉ được phép chứa các ký tự thường (a-z), ký tự hoa (A-Z), chữ số (0-9), dấu gạch chân (_). Định danh hợp lệ
sẽ giống như thế này: bien_1, tinh_tong_0_9, firstClass.
 Các ký tự khác (như @, $, %, dấu cách, v.v.) không được phép có mặt trong định danh.
 Có thể sử dụng ký tự unicode trong định danh (ví dụ, có thể đặt tên biến bằng tiếng Việt có dấu).
 Định danh chỉ được phép bắt đầu bằng ký tự (thường/hoa) hoặc dấu gạch chân. Tên gọi bắt đầu bằng chữ số là không hợp
lệ. Ví dụ: 1bien là không hợp lệ.
 Định danh không được trùng với một số từ dành riêng cho các mục đích đặc biệt (từ khóa).
 Định danh trong Python phân biệt chữ hoa/thường.
 Định danh có thể dài bao nhiêu tùy ý.
 Nếu định danh bắt đầu và kết thúc bằng 2 dấu gạch dưới (__init__ chẳng hạn) thì định danh đó là tên đặc biệt được ngôn
ngữ định nghĩa.
Dòng lệnh và ghi chú trong Python
• Trong Python, mặc định mỗi lệnh được viết trên một dòng.
• Kết thúc dòng(Xuống dòng) cũng là báo hiệu kết thúc lệnh. Do vậy, các lệnh không phải dùng dấu báo kết
thúc dòng).
• Ví dụ:
name = input("Your name? ")
age = int(input("Your age? "))
print(name, age, sep = ' ')
Nếu cần viết nhiều lệnh trên cùng một dòng, các lệnh được phân tách bằng ký tự: ;
Ví dụ: import sys; x = 'foo'; sys.stdout.write(x + 'n')
Tuy nhiên lối viết này không được khuyến khích trong Python vì nó gây khó đọc code.
Nếu một lệnh quá dài, bạn có thể viết tách nó ra nhiều dòng bằng cách thêm ký tự  vào cuối dòng.
Gọi là ký tự nối dòng (line continuation character). Ví dụ:
total = item_one + 
item_two + 
item_three
Một số lệnh chứa các cặp dấu [], {}, () có thể viết trên nhiều dòng mà không cần ký tự nối dòng .
Ví dụ: days = ['Monday',
'Tuesday',
'Wednesday',
'Friday']
Hiện tượng này được gọi là nối dòng ngầm định (implicit line continuation). Python có thể tự mình xác
định được là lệnh trải trên nhiều dòng.
Ghi chú trong Python được đánh dấu bắt đầu bằng ký tự #. Tất cả những gì nằm sau # cho đến hết dòng tương ứng
được xem là ghi chú.
Python tự động bỏ qua ghi chú khi dịch mã nguồn. Ví dụ:
# First comment
print(Hello, Python!") # second comment
name = "Madisetti" # This is again comment
# This is a comment.
# This is a comment, too.
# This is a comment, too.
# I said that already.
Trong Python chỉ sử dụng ghi chú trên từng dòng. Python không có ghi chú nhiều dòng.
ghi chú
Thụt lề trong Python
Trong Python những khối lệnh sẽ được nhận biết thông qua thụt lề, nếu bạn thụt hoặc thò nhầm là sẽ bị báo lỗi ngay.
Một khối code (thường là khối lệnh của hàm, vòng lặp,...) bắt đầu với thụt lề và kết thúc với dòng đầu tiên không thụt lề.
Thụt lề bao nhiêu là tùy thuộc ở bạn nhưng chúng phải nhất quán trong suốt khối code đó, tức là các lệnh trong cùng một khối thì phải có
độ thụt lề bằng nhau.
Thông thường, sẽ dùng 4 lần phím cách để thụt lề, chúng được các lập trình viên yêu thích hơn là phím tab, giống như ví dụ dưới đây:
for i in range(1,11):
print(i)
if i == 5:
break
Khối lệnh của for gồm có print(i) và if, được viết thụt lề bằng nhau, break là lệnh trong if, nên lại được thụt lề thêm một đoạn nữa.
Nếu lệnh trên được viết thành:
for i in range(1,11):
print(i)
if i == 5:
break
Bạn sẽ nhận được thông báo lỗi ngay lập tức, và lỗi sẽ hiện trước lệnh print(i).
Nhờ thụt đầu dòng mà code trong Python trông gọn gàng và rõ ràng hơn. Ví dụ
Khối code trong Python
Một số lệnh có thể tạo thành một khối code. Khối code
là một/nhóm lệnh có ranh giới với phần code khác xung
quanh.
Một khối code trong Python được tạo thành bằng cách
viết các lệnh với cùng số thụt đầu dòng (indentation).
Tất cả code với cùng số thụt đầu dòng được xem là nằm
trong một khối code.
Thông thường, các IDE Python sử dụng dấu tab để thụt
đầu dòng với quy ước một thụt đầu dòng là 4 dấu cách.
Xuất nhập dữ liệu với console
Python sử dụng các phương thức sau để làm việc với console:
 print() – xuất dữ liệu ra console.
 input() – nhập dữ liệu từ console.
Hãy xem các ví dụ sau:
name = input("Your name: ")
age = input("Your age: ")
location = input("Your location: ")
print('Hello', name, age, 'from', location)
SquareSpiral1.py
# SquareSpiral1.py - Draws a square spiral
import turtle
t = turtle.Pen()
for x in range(100):
t.forward(x)
t.left(90)
SquareSpiral2.py
import turtle
t = turtle.Pen()
for x in range(100):
t.forward(x)
t.left(91)
CircleSpiral1.py
import turtle
t = turtle.Pen()
for x in range(100):
t.circle(x)
t.left(91)
SquareSpiral3.py
import turtle
t = turtle.Pen()
t.pencolor("red")
for x in range(100):
t.forward(x)
t.left(91)
ColorSquareSpiral.py
import turtle
t = turtle.Pen()
colors = ["red", "yellow", "blue", "green"]
for x in range(100):
t.pencolor(colors[x%4])
t.forward(x)
t.left(91)
ColorCircleSpiral.py
import turtle
t = turtle.Pen()
turtle.bgcolor("black")
colors = ["red", "yellow", "blue", "green"]
for x in range(100):
t.pencolor(colors[x%4])
t.circle(x)
t.left(91)
ColorSpiral.py
import turtle
t = turtle.Pen()
turtle.bgcolor("black")
# You can choose between 2 and 6 sides for some cool shapes!
sides = 6
colors = ["red", "yellow", "blue", "orange", "green", "purple"]
for x in range(360):
t.pencolor(colors[x%sides])
t.forward(x * 3/sides + x)
t.left(360/sides + 1)
t.width(x*sides/200)
Biến, phép gán, kiểu dữ liệu trong Python
Hãy xem một số lệnh sau:
variables.py
name = 'Donald Trump' # biến kiểu chuỗi
age = 40 # biến kiểu số
companies = ['Apple', 'Google', 'Microsoft'] # biến kiểu danh sách
person_tuple = ('Trump', 'USA', 40, 'President') # biến kiểu tuple
person_dict = {'Name': 'Trump', 'Age': 40, 'Job': 'US President'} # biến kiểu từ điển
print(name)
print(age)
print(companies)
print(person_tuple)
print(person_dict)
Đây là các lệnh khai báo và gán giá trị cho biến với một số kiểu dữ liệu cơ sở của Python.
Trong ví dụ trên, name, age, companies, person_tuple, person_dict là các biến, dấu = là
dấu phép gán, bên tay phải dấu = là giá trị của biến.
Numbers aNd Variables: PythoN does the math
my_name = "Bryson"
my_age = 43
your_name = input("What is your name? ")
your_age = input("How old are you? ")
print("My name is", my_name, ", and I am", my_age, "years old.")
print("Your name is", your_name, ", and you are", your_age, ".")
print("Thank you for buying my book,", your_name, "!")
ThankYou.py
Biến là một vị trí trong bộ nhớ được sử dụng để lưu trữ dữ liệu (giá trị).
Biến được đặt tên duy nhất để phân biệt giữa các vị trí bộ nhớ khác nhau.
Các quy tắc để viết tên một biến giống như quy tắc viết các định danh trong Python.
Trong Python, bạn không cần khai báo biến trước khi sử dụng, chỉ cần gán cho biến một giá trị và nó sẽ tồn
tại.
Cũng không cần phải khai báo kiểu biến, kiểu biến sẽ được nhận tự động dựa vào giá trị mà bạn đã gán
cho biến.
Để dễ hình dung, biến trong Python có nét tương tự như file và shortcut trong windows. Trong đó, file trên ổ
đĩa tương tự như giá trị của biến trong bộ nhớ. Shortcut (lối tắt) đến file tương tự như biến trong Python.
Biến trong Python bắt buộc phải tạo ra cùng phép gán. Giá trị của biến trong bộ nhớ được tự động “thu dọn”
khi không sử dụng đến nhờ một tiến trình gọi là Garbage Collection.
Biến trong Python
Gán giá trị cho biến:
Để gán giá trị cho biến ta sử dụng toán tử =. Bất kỳ loại giá trị nào cũng có thể gán cho biến hợp lệ.
Ví dụ:
hoa = "Hồng"
la = 3
canh = 5.5
Phía trên là 3 câu lệnh gán, "Hồng" là một chuỗi ký tự, được gán cho biến hoa, 3 là số nguyên và được
gán cho la, 5.5 là số thập phân và gán cho canh.
Gán nhiều giá trị:
Trong Python bạn có thể thực hiện gán nhiều giá trị trong một lệnh như sau:
hoa, la, canh = "Hồng", 3, 5.5
Nếu muốn gán giá trị giống nhau cho nhiều biến thì có thể viết lệnh như sau:
hoa, la, canh = 3
Lệnh trên sẽ gán giá trị 3 cho cả 3 biến là hoa, la và canh.
Lập trình với các toán tử:
Máy tính Pizza
Nhắc đến pizza, bây giờ hãy tưởng tượng bạn sở hữu một tiệm bánh pizza.Hãy viết một chương trình nhỏ để
tìm ra tổng chi phí của một đơn đặt hàng pizza đơn giản, bao gồm cả thuế bán hàng. Giả sử chúng tôi đang
đặt một hoặc nhiều chiếc bánh pizza có giá như nhau và chúng tôi đang đặt hàng ở Atlanta, Georgia, Hoa Kỳ.
Thuế bán hàng không được bao gồm trong giá thực đơn nhưng được thêm vào khi mua hàng. Tỷ lệ là 8 phần
trăm, có nghĩa là cứ mỗi đô la chúng tôi trả cho chiếc bánh pizza, chúng tôi cũng phải trả tám xu tiền thuế bán
hàng. Chúng tôi có thể mô hình hóa chương trình này bằng các từ như sau:
1. Hỏi người đó muốn có bao nhiêu chiếc bánh pizza.
2. Hỏi giá thực đơn của mỗi chiếc bánh pizza.
3. Tính tổng chi phí của những chiếc pizza làm tổng phụ của chúng tôi.
4. Tính thuế bán hàng còn nợ, ở mức 8 phần trăm của tổng phụ.
5. Cộng thuế bán hàng vào tổng phụ để có tổng cuối cùng.
6. Hiển thị cho người dùng tổng số tiền đến hạn, bao gồm cả thuế.
Chúng tôi đã biết cách yêu cầu người dùng nhập. Để tính toán vớicác số chúng tôi đã nhập làm đầu vào,
chúng tôi cần thêm một hàm nữa: eval ().Hàm eval () đánh giá hoặc tìm ra giá trị của đầu vào mà chúng ta đã
nhập. Đầu vào bàn phím bằng Python luôn được nhận dưới dạng một chuỗi ký tự văn bản, vì vậy chúng tôi
sử dụng eval () để biến đầu vào đó thành một số. Vì vậy, nếu chúng ta nhập "20" vào chương trình của mình,
eval ("20") sẽ cung cấp cho chúng ta giá trị số 20, sau đó chúng ta có thể sử dụng trong các công thức toán
học để tính các số mới, chẳng hạn như giá của 20 chiếc pizza. Hàm eval () khá mạnh khi làm việc với các số
trong Python.Bây giờ chúng ta đã biết cách biến đầu vào của người dùng thành các con số mà chúng ta có
thể tính toán, chúng ta có thể chuyển đổi các bước được đánh số của kế hoạch chương trình của chúng ta
thành mã thực tế.
AtlantaPizza.py
# AtlantaPizza.py - a simple pizza cost calculator
# Ask the person how many pizzas they want, get the number with eval()
number_of_pizzas = eval(input("How many pizzas do you want? "))
# Ask for the menu cost of each pizza
cost_per_pizza = eval(input("How much does each pizza cost? "))
# Calculate the total cost of the pizzas as our subtotal
subtotal = number_of_pizzas * cost_per_pizza
# Calculate the sales tax owed, at 8% of the subtotal
tax_rate = 0.08 # Store 8% as the decimal value 0.08
sales_tax = subtotal * tax_rate
# Add the sales tax to the subtotal for the final total
total = subtotal + sales_tax
# Show the user the total amount due, including tax
print("The total cost is $",total)
print("This includes $", subtotal, "for the pizza and")
print("$", sales_tax, "in sales tax.")
SayMyName.py
# SayMyName.py - prints a screen full of the user's name
# Ask the user for their name
name = input("What is your name? ")
# Print their name 100 times
for x in range(100):
# Print their name followed by a space, not a new line
print(name, end = " ")
SpiralMyName.py
# SpiralMyName.py - prints a colorful spiral of the user's name
import turtle # Set up turtle graphics
t = turtle.Pen()
turtle.bgcolor("black")
colors = ["red", "yellow", "blue", "green"]
# Ask the user's name using turtle's textinput pop-up window
u your_name = turtle.textinput("Enter your name", "What is your name?")
# Draw a spiral of the name on the screen, written 100 times
for x in range(100):
t.pencolor(colors[x%4]) # Rotate through the four colors
v t.penup() # Don't draw the regular spiral lines
w t.forward(x*4) # Just move the turtle on the screen
x t.pendown() # Write the user's name, bigger each time
y t.write(your_name, font = ("Arial", int( (x + 4) / 4), "bold") )
t.left(92) # Turn left, just as in our other spirals
ColorSpiralInput.py
import turtle # Set up turtle graphics
t = turtle.Pen()
turtle.bgcolor("black")
# Set up a list of any 8 valid Python color names
colors = ["red", "yellow", "blue", "green", "orange", "purple", "white", "gray"]
# Ask the user for the number of sides, between 1 and 8, with a default of 4
sides = int(turtle.numinput("Number of sides",
"How many sides do you want (1-8)?", 4, 1, 8))
# Draw a colorful spiral with the user-specified number of sides
for x in range(360):
u t.pencolor(colors[x % sides]) # Only use the right number of colors
v t.forward(x * 3 / sides + x) # Change the size to match number of sides
w t.left(360 / sides + 1) # Turn 360 degrees / number of sides, plus 1
x t.width(x * sides / 200) # Make the pen larger as it goes outward
MathHomework.py
print("MathHomework.py")
# Ask the user to enter a math problem
problem = input("Enter a math problem, or 'q' to quit: ")
# Keep going until the user enters 'q' to quit
while (problem != "q"):
# Show the problem, and the answer using eval()
print("The answer to ", problem, "is:", eval(problem) )
# Ask for another math problem
problem = input("Enter another math problem, or 'q' to quit: ")
# This while loop will keep going until you enter 'q' to quit
Các kiểu dữ liệu cơ bản của Python
Python có các loại kiểu dữ liệu cơ bản: số, chuỗi, danh sách, tuple, từ điển, boolean.
Kiếu số trong python chia làm 3 loại: số nguyên (int), số thực (float), số phức (complex).
Dưới đây là ví dụ về biểu diễn giá trị số trong Python:
Số nguyên có thể viết ở cơ số 10 (mặc định), cơ số 8 (bắt đầu bằng 0o), cơ số 16 (bắt đầu bằng 0x). Kiểu
float phải có dấu chấm thập phân và có thể viết ở dạng khoa học. Kiểu complex phải có ký tự ảo j (hoặc J).
Số nguyên có thể viết ở cơ số 10 (mặc định), cơ số 8 (bắt đầu bằng 0o), cơ số 16 (bắt đầu bằng
0x). Kiểu float phải có dấu chấm thập phân và có thể viết ở dạng khoa học. Kiểu complex phải
có ký tự ảo j (hoặc J).
Chú ý: Python 2.x có hai kiểu số nguyên int và long. Kiểu long cần biểu diễn với hậu tố L (hoặc
l). Số nguyên ở hệ cơ số 8 viết bắt đầu bằng 0. Vì vậy, khi đọc tài liệu nên lưu ý xem đó là
Python 2 hay Python 3. Hai phiên bản này có nhiều điểm không tương thích.
Kiểu boolean chỉ nhận một trong hai giá trị True hoặc False và là một kiểu con của kiểu số
nguyên.
Lưu ý giá trị boolean phải viết chính xác là True/False.
Kiểu chuỗi ký tự được viết trong cặp dấu ngoặc đơn ”, ngoặc kép “”, trong cặp ba dấu ngoặc đơn hoặc ba
dấu ngoặc kép.
Mặc định chuỗi ký tự trong Python chỉ chứa ký tự Unicode. Python không có kiểu ký tự. Ký tự được coi là một
chuỗi có 1 phần tử.
Kiểu danh sách trong Python tương tự như kiểu mảng trong các ngôn ngữ như C nhưng không giới hạn kiểu
dữ liệu của phần tử cũng như không cố định số phần tử. Cách viết giá trị kiểu danh sách như sau:
companies = ['Apple', 'Google', 'Microsoft', 'IBM', 1945, 1975]
Loops Are Fun
(You CAn sAY ThAT AgAin)
Rosette.py
import turtle
t = turtle.Pen()
t.circle(100) # This makes our first circle (pointing north)
t.left(90) # Then the turtle turns left 90 degrees
t.circle(100) # This makes our second circle (pointing west)
t.left(90) # Then the turtle turns left 90 degrees
t.circle(100) # This makes our third circle (pointing south)
t.left(90) # Then the turtle turns left 90 degrees
t.circle(100) # This makes our fourth circle (pointing east)
Rosette4.py
import turtle
t = turtle.Pen()
for x in range(4):
t.circle(100)
t.left(90)
Rosette6.py
import turtle
t = turtle.Pen()
u for x in range(6):
v t.circle(100)
w t.left(60)
RosetteGoneWild.py
import turtle
t = turtle.Pen()
# Ask the user for the number of circles in their rosette, default to 6
number_of_circles = int(turtle.numinput("Number of circles",
"How many circles in your rosette?", 6))
for x in range(number_of_circles):
t.circle(100)
t.left(360/number_of_circles)
SayOurNames.py
# Ask the user for their name
name = input("What is your name? ")
# Keep printing names until we want to quit
while name != "":
# Print their name 100 times
for x in range(100):
# Print their name followed by a space, not a new line
print(name, end = " ")
print() # After the for loop, skip down to the next line
# Ask for another name, or quit
name = input("Type another name, or just hit [ENTER] to quit: ")
print("Thanks for playing!")
SpiralFamily.py
import turtle # Set up turtle graphics
t = turtle.Pen()
turtle.bgcolor("black")
colors = ["red", "yellow", "blue", "green", "orange",
"purple", "white", "brown", "gray", "pink" ]
family = [] # Set up an empty list for family names
# Ask for the first name
name = turtle.textinput("My family",
"Enter a name, or just hit [ENTER] to end:")
# Keep asking for names
while name != "":
# Add their name to the family list
family.append(name)
# Ask for another name, or end
name = turtle.textinput("My family", "Enter a name, or just hit [ENTER] to end:")
# Draw a spiral of the names on the screen
for x in range(100):
t.pencolor(colors[x%len(family)]) # Rotate through the colors
t.penup() # Don't draw the regular spiral lines
t.forward(x*4) # Just move the turtle on the screen
t.pendown() # Draw the next family member's name
t.write(family[x%len(family)], font = ("Arial", int((x+4)/4), "bold") )
t.left(360/len(family) + 2) # Turn left for our spiral
ViralSpiral.py
import turtle
t = turtle.Pen()
t.penup()
turtle.bgcolor("black")
# Ask the user for the number of sides, default to 4, min 2, max 6
sides = int(turtle.numinput("Number of sides", "How many sides in your spiral of spirals? (2-6)", 4,2,6))
colors = ["red", "yellow", "blue", "green", "purple", "orange"]
# Our outer spiral loop
for m in range(100):
t.forward(m*4)
position = t.position() # Remember this corner of the spiral
heading = t.heading() # Remember the direction we were heading
print(position, heading)
# Our "inner" spiral loop
# Draws a little spiral at each corner of the big spiral
for n in range(int(m/2)):
t.pendown()
t.pencolor(colors[n%sides])
t.forward(2*n)
t.right(360/sides - 2)
t.penup()
t.setx(position[0]) # Go back to the big spiral's x location
t.sety(position[1]) # Go back to the big spiral's y location
t.setheading(heading) # Point in the big spiral's heading
t.left(360/sides + 2) # Aim at the next point on the big spiral
if statements if condition:
indented statement(s)
IfSpiral.py
answer = input("Do you want to see a spiral? y/n:")
if answer == 'y':
print("Working...")
import turtle
t = turtle.Pen()
t.width(2)
for x in range(100):
t.forward(x*2)
t.left(89)
{ print("Okay, we're done!")
OldEnough.py
driving_age = eval(input("What is the legal driving age where you live? "))
your_age = eval(input("How old are you? "))
if your_age >= driving_age:
print("You're old enough to drive!")
if your_age < driving_age:
print("Sorry, you can drive in", driving_age - your_age, "years.")
OldEnoughOrElse.py
driving_age = eval(input("What is the legal driving age where you live? "))
your_age = eval(input("How old are you? "))
if your_age >= driving_age:
print("You're old enough to drive!")
else:
print("Sorry, you can drive in", driving_age - your_age, "years.")
PolygonOrRosette.py
import turtle
t = turtle.Pen()
# Ask the user for the number of sides or circles, default to 6
number = int(turtle.numinput("Number of sides or circles",
"How many sides or circles in your shape?", 6))
# Ask the user whether they want a polygon or rosette
shape = turtle.textinput("Which shape do you want?",
"Enter 'p' for polygon or 'r' for rosette:")w for x in range(number):
if shape == 'r': # User selected rosette
t.circle(100)
else: # Default to polygon
t.forward (150)
t.left(360/number)
RosettesAndPolygons.py
# RosettesAndPolygons.py - a spiral of polygons AND rosettes!
import turtle
t = turtle.Pen()# Ask the user for the number of sides, default to 4
sides = int(turtle.numinput("Number of sides",
"How many sides in your spiral?", 4))
# Our outer spiral loop for polygons and rosettes, from size 5 to 75
for m in range(5,75):
t.left(360/sides + 5)
t.width(m//25+1)
t.penup() # Don't draw lines on spiral
t.forward(m*4) # Move to next corner
t.pendown() # Get ready to draw
# Draw a little rosette at each EVEN corner of the spiral
if (m % 2 == 0):
for n in range(sides):
t.circle(m/3)
t.right(360/sides)
# OR, draw a little polygon at each ODD corner of the spiral
else:
for n in range(sides):
t.forward(m)
t.right(360/sides)
WhatsMyGrade.py
grade = eval(input("Enter your number grade (0-100): "))
if grade >= 90:
print("You got an A! :) ")
elif grade >= 80:
print("You got a B!")
elif grade >= 70:
print("You got a C.")
elif grade >= 60:
print("You got a D...")
else:
print("You got an F. :( ")
WhatToWear.py
rainy = input("How's the weather? Is it raining? (y/n)").lower()
cold = input("Is it cold outside? (y/n)").lower()
w if (rainy == 'y' and cold == 'y'): # Rainy and cold, yuck!
print("You'd better wear a raincoat.")
elif (rainy == 'y' and cold != 'y'): # Rainy, but warm
print("Carry an umbrella with you.")
elif (rainy != 'y' and cold == 'y'): # Dry, but cold
print("Put on a jacket, it's cold out!")
elif (rainy != 'y' and cold != 'y'): # Warm and sunny, yay!
print("Wear whatever you want, it's beautiful outside!")
RandomSpiralsFunction.py
import random
import turtle
t = turtle.Pen()
t.speed(0)
turtle.bgcolor("black")
colors = ["red", "yellow", "blue", "green", "orange", "purple",
"white", "gray"]
def random_spiral():
t.pencolor(random.choice(colors))
size = random.randint(10,40)
x = random.randrange(-turtle.window_width()//2,
turtle.window_width()//2)
y = random.randrange(-turtle.window_height()//2,
turtle.window_height()//2)
t.penup()
t.setpos(x,y)
t.pendown()
for m in range(size):
t.forward(m*2)
t.left(91)
for n in range(50):
random_spiral()
RandomSmileys.py
import random
import turtle
t = turtle.Pen()
t.speed(0)
t.hideturtle()
turtle.bgcolor("black")
def draw_smiley(x,y):
t.penup()
t.setpos(x,y)
t.pendown()
# Head
t.pencolor("yellow")
t.fillcolor("yellow")
t.begin_fill()
t.circle(50)
t.end_fill()
# Left eye
t.setpos(x-15, y+60)
t.fillcolor("blue")
t.begin_fill()
t.circle(10)
t.end_fill()
# Right eye
t.setpos(x+15, y+60)
t.begin_fill()
t.circle(10)
t.end_fill()
# Mouth
t.setpos(x-25, y+40)
t.pencolor("black")
t.width(10)
t.goto(x-10, y+20)
t.goto(x+10, y+20)
t.goto(x+25, y+40)
t.width(1)
v for n in range(50):
x = random.randrange(-turtle.window_width()//2,turtle.window_width()//2)
y = random.randrange(-turtle.window_height()//2,turtle.window_height()//2)
draw_smiley(x,y)
PingPongCalculator.py
def convert_in2cm(inches):
return inches * 2.54
def convert_lb2kg(pounds):
return pounds / 2.2
height_in = int(input("Enter your height in inches: "))
weight_lb = int(input("Enter your weight in pounds: "))
height_cm = convert_in2cm(height_in)
weight_kg = convert_lb2kg(weight_lb)
ping_pong_tall = round(height_cm / 4)
ping_pong_heavy = round(weight_kg * 1000 / 2.7)
feet = height_in // 12
inch = height_in % 12
print("At", feet, "feet", inch, "inches tall, and", weight_lb, "pounds,")
print("you measure", ping_pong_tall, "Ping-Pong balls tall, and ")
print("you weigh the same as", ping_pong_heavy, "Ping-Pong balls!")
TurtleDraw.py
import turtle
t = turtle.Pen()
t.speed(0)
turtle.onscreenclick(t.setpos)
TurtleDrawMax.py
import turtle
t = turtle.Pen()
t.speed(0)
turtle.onscreenclick(t.setpos)
turtle.bgcolor("blue")
t.pencolor("green")
t.width(99)
ArrowDraw.py
import turtle
t = turtle.Pen()
t.speed(0)
u t.turtlesize(2,2,2)
def up():
t.forward(50)
def left():
t.left(90)
def right():
t.right(90)
turtle.onkeypress(up, "Up")
turtle.onkeypress(left, "Left")
turtle.onkeypress(right, "Right")
turtle.listen()
ClickSpiral.py
import random
import turtle
t = turtle.Pen()
t.speed(0)
turtle.bgcolor("black")
colors = ["red", "yellow", "blue", "green", "orange",
"purple",
"white", "gray"]
def spiral(x,y):
t.pencolor(random.choice(colors))
size = random.randint(10,40)
t.penup()
t.setpos(x,y)
t.pendown()
for m in range(size):
t.forward(m*2)
t.left(91)
turtle.onscreenclick(spiral)
ClickAndSmile.py
import random
import turtle
t = turtle.Pen()
t.speed(0)
t.hideturtle()
turtle.bgcolor("black")
def draw_smiley(x,y):
t.penup()
t.setpos(x,y)
t.pendown()
# Face
t.pencolor("yellow")
t.fillcolor("yellow")
t.begin_fill()
t.circle(50)
t.end_fill()
# Left eye
t.setpos(x-15, y+60)
t.fillcolor("blue")
t.begin_fill()
t.circle(10)
t.end_fill()
# Right eye
t.setpos(x+15, y+60)
t.begin_fill()
t.circle(10)
t.end_fill()
# Mouth
t.setpos(x-25, y+40)
t.pencolor("black")
t.width(10)
t.goto(x-10, y+20)
t.goto(x+10, y+20)
t.goto(x+25, y+40)
t.width(1)
turtle.onscreenclick(draw_smiley)
ClickKaleidoscope.py
import random
import turtle
t = turtle.Pen()
t.speed(0)
t.hideturtle()
turtle.bgcolor("black")
colors = ["red", "yellow", "blue", "green", "orange", "purple",
"white", "gray"]
def draw_kaleido(x,y):
t.pencolor(random.choice(colors))
size = random.randint(10,40)
draw_spiral(x,y, size)
draw_spiral(-x,y, size)
draw_spiral(-x,-y, size)
draw_spiral(x,-y, size)
def draw_spiral(x,y, size):
t.penup()
t.setpos(x,y)
t.pendown()
for m in range(size):
t.forward(m*2)
t.left(92)
turtle.onscreenclick(draw_kaleido)
python3.pptx
python3.pptx
python3.pptx
python3.pptx
python3.pptx

Mais conteúdo relacionado

Semelhante a python3.pptx

LP_TRINH_HP_NG_MIPS_Mc_dich.pdf
LP_TRINH_HP_NG_MIPS_Mc_dich.pdfLP_TRINH_HP_NG_MIPS_Mc_dich.pdf
LP_TRINH_HP_NG_MIPS_Mc_dich.pdf
Chuong
 
1 Gioi Thieu Chung
1 Gioi Thieu Chung1 Gioi Thieu Chung
1 Gioi Thieu Chung
Cuong
 
Bai giangtrenlop
Bai giangtrenlopBai giangtrenlop
Bai giangtrenlop
Hồ Lợi
 
Lap trinh c_tu_co_ban_den_nang_cao
Lap trinh c_tu_co_ban_den_nang_caoLap trinh c_tu_co_ban_den_nang_cao
Lap trinh c_tu_co_ban_den_nang_cao
Huy Nguyễn
 

Semelhante a python3.pptx (20)

Book
BookBook
Book
 
Tai lieu huong_dan_ve_lap_trinh_php_7512
Tai lieu huong_dan_ve_lap_trinh_php_7512Tai lieu huong_dan_ve_lap_trinh_php_7512
Tai lieu huong_dan_ve_lap_trinh_php_7512
 
ShellProgramming
ShellProgrammingShellProgramming
ShellProgramming
 
Tu-Hoc-Python-Co-Ban-Trong-10-Phut-NIIT
Tu-Hoc-Python-Co-Ban-Trong-10-Phut-NIITTu-Hoc-Python-Co-Ban-Trong-10-Phut-NIIT
Tu-Hoc-Python-Co-Ban-Trong-10-Phut-NIIT
 
Php Csdlweb06
Php Csdlweb06Php Csdlweb06
Php Csdlweb06
 
Chuong1234pascal 2493
Chuong1234pascal 2493Chuong1234pascal 2493
Chuong1234pascal 2493
 
Bai Thuc hanh Tin học cơ sở nhom Kinh te-update.docx
Bai Thuc hanh Tin học cơ sở nhom Kinh te-update.docxBai Thuc hanh Tin học cơ sở nhom Kinh te-update.docx
Bai Thuc hanh Tin học cơ sở nhom Kinh te-update.docx
 
Bài giảng Lập trình cơ bản - truongkinhtethucpham.com
Bài giảng Lập trình cơ bản - truongkinhtethucpham.comBài giảng Lập trình cơ bản - truongkinhtethucpham.com
Bài giảng Lập trình cơ bản - truongkinhtethucpham.com
 
LP_TRINH_HP_NG_MIPS_Mc_dich.pdf
LP_TRINH_HP_NG_MIPS_Mc_dich.pdfLP_TRINH_HP_NG_MIPS_Mc_dich.pdf
LP_TRINH_HP_NG_MIPS_Mc_dich.pdf
 
Hop ngu mips
Hop ngu mipsHop ngu mips
Hop ngu mips
 
Các quy định& chuẩn trong lập trình NukeViet
Các quy định& chuẩn trong lập trình NukeVietCác quy định& chuẩn trong lập trình NukeViet
Các quy định& chuẩn trong lập trình NukeViet
 
1 Gioi Thieu Chung
1 Gioi Thieu Chung1 Gioi Thieu Chung
1 Gioi Thieu Chung
 
Bai giangtrenlop
Bai giangtrenlopBai giangtrenlop
Bai giangtrenlop
 
Lap trinh c_tu_co_ban_den_nang_cao
Lap trinh c_tu_co_ban_den_nang_caoLap trinh c_tu_co_ban_den_nang_cao
Lap trinh c_tu_co_ban_den_nang_cao
 
Lap trinh c_tu_co_ban_den_nang_cao
Lap trinh c_tu_co_ban_den_nang_caoLap trinh c_tu_co_ban_den_nang_cao
Lap trinh c_tu_co_ban_den_nang_cao
 
Bai 12 kx
Bai 12 kxBai 12 kx
Bai 12 kx
 
Chuong 01
Chuong 01Chuong 01
Chuong 01
 
Chuong 01 mo dau
Chuong 01 mo dauChuong 01 mo dau
Chuong 01 mo dau
 
Pointer
PointerPointer
Pointer
 
Lập trình Shell 1.pdf
Lập trình Shell 1.pdfLập trình Shell 1.pdf
Lập trình Shell 1.pdf
 

Mais de Tai Nguyen An (10)

baocao.pptx
baocao.pptxbaocao.pptx
baocao.pptx
 
denghi.pptx
denghi.pptxdenghi.pptx
denghi.pptx
 
Bao cao ERP
Bao cao ERP Bao cao ERP
Bao cao ERP
 
Bao cao ERP: tai chinh - ke toan
Bao cao ERP: tai chinh - ke toanBao cao ERP: tai chinh - ke toan
Bao cao ERP: tai chinh - ke toan
 
Bao cao ERP SCM: mua hang, kho hamg, ton kho,..
Bao cao ERP SCM: mua hang, kho hamg, ton kho,..Bao cao ERP SCM: mua hang, kho hamg, ton kho,..
Bao cao ERP SCM: mua hang, kho hamg, ton kho,..
 
Một ít kiến thức về module sale trên ERP
Một ít kiến thức về module sale trên ERPMột ít kiến thức về module sale trên ERP
Một ít kiến thức về module sale trên ERP
 
Một ít kiến thức về hrm trên ERP
Một ít kiến thức về hrm trên ERPMột ít kiến thức về hrm trên ERP
Một ít kiến thức về hrm trên ERP
 
kiến thức về mail Spam
kiến thức về mail Spamkiến thức về mail Spam
kiến thức về mail Spam
 
một chút kiến thức về mail Phishing
một chút kiến thức về mail Phishingmột chút kiến thức về mail Phishing
một chút kiến thức về mail Phishing
 
Thuyet trinh sap b1
Thuyet trinh sap b1Thuyet trinh sap b1
Thuyet trinh sap b1
 

Último

xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdfxemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
Xem Số Mệnh
 
Tử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận Hạn
Tử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận HạnTử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận Hạn
Tử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận Hạn
Kabala
 
bài tập lớn môn kiến trúc máy tính và hệ điều hành
bài tập lớn môn kiến trúc máy tính và hệ điều hànhbài tập lớn môn kiến trúc máy tính và hệ điều hành
bài tập lớn môn kiến trúc máy tính và hệ điều hành
dangdinhkien2k4
 
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
ChuThNgnFEFPLHN
 
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
ltbdieu
 

Último (20)

Bài giảng môn Truyền thông đa phương tiện
Bài giảng môn Truyền thông đa phương tiệnBài giảng môn Truyền thông đa phương tiện
Bài giảng môn Truyền thông đa phương tiện
 
Giáo trình nhập môn lập trình - Đặng Bình Phương
Giáo trình nhập môn lập trình - Đặng Bình PhươngGiáo trình nhập môn lập trình - Đặng Bình Phương
Giáo trình nhập môn lập trình - Đặng Bình Phương
 
các nội dung phòng chống xâm hại tình dục ở trẻ em
các nội dung phòng chống xâm hại tình dục ở trẻ emcác nội dung phòng chống xâm hại tình dục ở trẻ em
các nội dung phòng chống xâm hại tình dục ở trẻ em
 
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdfxemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
 
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hộiTrắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
 
Tử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận Hạn
Tử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận HạnTử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận Hạn
Tử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận Hạn
 
Luận văn 2024 Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành...
Luận văn 2024 Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành...Luận văn 2024 Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành...
Luận văn 2024 Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
bài tập lớn môn kiến trúc máy tính và hệ điều hành
bài tập lớn môn kiến trúc máy tính và hệ điều hànhbài tập lớn môn kiến trúc máy tính và hệ điều hành
bài tập lớn môn kiến trúc máy tính và hệ điều hành
 
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
 
Giáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdf
Giáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdfGiáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdf
Giáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdf
 
xemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdf
xemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdfxemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdf
xemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdf
 
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
 
Bài học phòng cháy chữa cháy - PCCC tại tòa nhà
Bài học phòng cháy chữa cháy - PCCC tại tòa nhàBài học phòng cháy chữa cháy - PCCC tại tòa nhà
Bài học phòng cháy chữa cháy - PCCC tại tòa nhà
 
22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...
22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...
22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...
 
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 10 - CÁN...
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 10 - CÁN...ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 10 - CÁN...
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 10 - CÁN...
 
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
 
[123doc] - ao-dai-truyen-thong-viet-nam-va-xuong-xam-trung-quoc-trong-nen-van...
[123doc] - ao-dai-truyen-thong-viet-nam-va-xuong-xam-trung-quoc-trong-nen-van...[123doc] - ao-dai-truyen-thong-viet-nam-va-xuong-xam-trung-quoc-trong-nen-van...
[123doc] - ao-dai-truyen-thong-viet-nam-va-xuong-xam-trung-quoc-trong-nen-van...
 
Logistics ngược trong thương mại doa.pdf
Logistics ngược trong thương mại doa.pdfLogistics ngược trong thương mại doa.pdf
Logistics ngược trong thương mại doa.pdf
 

python3.pptx

  • 2. GIỚI THIỆU VỀ PYTHON Mở IDLE. Để tạo file mới trong IDLE bạn nhấp vào File > New Windows hoặc nhấn tổ hợp phím tắt Ctrl + N.
  • 3. Sao chép đoạn code Python: print("Xin chào!") vào file vừa tạo, rồi nhấn Ctrl + S để lưu. File sẽ có đuôi là .py, đặt một cái tên cho nó, chẳng hạn: firstProg.py. print("Xin chào!")
  • 4. Nhấn Run > Run module hoặc F5 để xem kết quả.
  • 6. Tìm hiểu chương trình Python đầu tiên Như đã đề cập ở những bài viết trước, Python là ngôn ngữ lập trình rất dễ để học, và việc tạo ra chương trình "Hello, World!" lại càng đơn giản, bạn chỉ cần viết dòng code print("Hello, World!"). Vì thế, chúng ta sẽ đi tìm hiểu một chương trình khác, cũng đơn giản thôi, để bạn hiểu thêm một chút về ngôn ngữ lập trình này. Tạm đặt tên nó là Thêm hai số: # Them hai so va in tong num1 = 6 num2 = 9 sum = num1+num2 print(sum)
  • 7. Đoạn code trên sẽ làm gì? Dòng 1: # Them hai so va in tong Bất kỳ dòng code nào trong Python bắt đầu với dấu # sẽ là chú thích, bình luận. Nó được sử dụng để mô tả về đoạn code bên dưới dùng để làm gì. Điều này sẽ giúp cho những người đọc code, hiểu code rõ hơn. Những dòng bắt đầu với # sẽ được các trình biên dịch code và trình phiên dịch code bỏ qua. Dòng 2: num1 = 6 num1 ở đây là biến, bạn có thể lưu trữ giá trị trong biến và trong trường hợp này, num1 lưu giá trị 6. Dòng 3: num2 = 9 Tương tự như trên, 9 được lưu trữ trong num2. Dòng 4: sum = num1+num2 Tổng của biến num1 và num2 được lưu trữ trong một biến khác là sum. Dòng 5: print(sum) Hàm print() in đầu ra trên màn hình. Trong trường hợp này nó sẽ in kết quả 15 trên màn hình, sau khi bạn nhấn F5.
  • 8.
  • 9. Writing Programs in Python # YourName.py name = input("What is your name?n") print("Hi, ", name) MadLib.py name = input("Your name: ") age = input("Your age: ") location = input("Your location: ") print('Hello', name, age, 'from', location)
  • 10. Từ khóa và định danh trong Python • Keyword của Python như đã nói là những từ chỉ dành riêng cho Python. • Bạn không thể sử dụng những keyword này để đặt tên cho biến, hay sử dụng chúng như các hằng, tên định danh. • Trong Python, ngoại trừ True, False và None được viết hoa ra thì các keyword khác đều được viết dưới dạng chữ thường, đây là điều bắt buộc. Keyword của Python
  • 11. Định danh trong Python • Định danh là tên gọi của các thành phần trong chương trình Python như tên biến, tên hằng, tên kiểu, tên hàm, v.v.. • Nó giúp phân biệt thực thể này với thực thể khác. Quy tắc đặt định danh trong Python như sau:  Định danh chỉ được phép chứa các ký tự thường (a-z), ký tự hoa (A-Z), chữ số (0-9), dấu gạch chân (_). Định danh hợp lệ sẽ giống như thế này: bien_1, tinh_tong_0_9, firstClass.  Các ký tự khác (như @, $, %, dấu cách, v.v.) không được phép có mặt trong định danh.  Có thể sử dụng ký tự unicode trong định danh (ví dụ, có thể đặt tên biến bằng tiếng Việt có dấu).  Định danh chỉ được phép bắt đầu bằng ký tự (thường/hoa) hoặc dấu gạch chân. Tên gọi bắt đầu bằng chữ số là không hợp lệ. Ví dụ: 1bien là không hợp lệ.  Định danh không được trùng với một số từ dành riêng cho các mục đích đặc biệt (từ khóa).  Định danh trong Python phân biệt chữ hoa/thường.  Định danh có thể dài bao nhiêu tùy ý.  Nếu định danh bắt đầu và kết thúc bằng 2 dấu gạch dưới (__init__ chẳng hạn) thì định danh đó là tên đặc biệt được ngôn ngữ định nghĩa.
  • 12. Dòng lệnh và ghi chú trong Python • Trong Python, mặc định mỗi lệnh được viết trên một dòng. • Kết thúc dòng(Xuống dòng) cũng là báo hiệu kết thúc lệnh. Do vậy, các lệnh không phải dùng dấu báo kết thúc dòng). • Ví dụ: name = input("Your name? ") age = int(input("Your age? ")) print(name, age, sep = ' ') Nếu cần viết nhiều lệnh trên cùng một dòng, các lệnh được phân tách bằng ký tự: ; Ví dụ: import sys; x = 'foo'; sys.stdout.write(x + 'n') Tuy nhiên lối viết này không được khuyến khích trong Python vì nó gây khó đọc code.
  • 13. Nếu một lệnh quá dài, bạn có thể viết tách nó ra nhiều dòng bằng cách thêm ký tự vào cuối dòng. Gọi là ký tự nối dòng (line continuation character). Ví dụ: total = item_one + item_two + item_three Một số lệnh chứa các cặp dấu [], {}, () có thể viết trên nhiều dòng mà không cần ký tự nối dòng . Ví dụ: days = ['Monday', 'Tuesday', 'Wednesday', 'Friday'] Hiện tượng này được gọi là nối dòng ngầm định (implicit line continuation). Python có thể tự mình xác định được là lệnh trải trên nhiều dòng.
  • 14. Ghi chú trong Python được đánh dấu bắt đầu bằng ký tự #. Tất cả những gì nằm sau # cho đến hết dòng tương ứng được xem là ghi chú. Python tự động bỏ qua ghi chú khi dịch mã nguồn. Ví dụ: # First comment print(Hello, Python!") # second comment name = "Madisetti" # This is again comment # This is a comment. # This is a comment, too. # This is a comment, too. # I said that already. Trong Python chỉ sử dụng ghi chú trên từng dòng. Python không có ghi chú nhiều dòng. ghi chú
  • 15. Thụt lề trong Python Trong Python những khối lệnh sẽ được nhận biết thông qua thụt lề, nếu bạn thụt hoặc thò nhầm là sẽ bị báo lỗi ngay. Một khối code (thường là khối lệnh của hàm, vòng lặp,...) bắt đầu với thụt lề và kết thúc với dòng đầu tiên không thụt lề. Thụt lề bao nhiêu là tùy thuộc ở bạn nhưng chúng phải nhất quán trong suốt khối code đó, tức là các lệnh trong cùng một khối thì phải có độ thụt lề bằng nhau. Thông thường, sẽ dùng 4 lần phím cách để thụt lề, chúng được các lập trình viên yêu thích hơn là phím tab, giống như ví dụ dưới đây: for i in range(1,11): print(i) if i == 5: break Khối lệnh của for gồm có print(i) và if, được viết thụt lề bằng nhau, break là lệnh trong if, nên lại được thụt lề thêm một đoạn nữa. Nếu lệnh trên được viết thành: for i in range(1,11): print(i) if i == 5: break Bạn sẽ nhận được thông báo lỗi ngay lập tức, và lỗi sẽ hiện trước lệnh print(i). Nhờ thụt đầu dòng mà code trong Python trông gọn gàng và rõ ràng hơn. Ví dụ
  • 16. Khối code trong Python Một số lệnh có thể tạo thành một khối code. Khối code là một/nhóm lệnh có ranh giới với phần code khác xung quanh. Một khối code trong Python được tạo thành bằng cách viết các lệnh với cùng số thụt đầu dòng (indentation). Tất cả code với cùng số thụt đầu dòng được xem là nằm trong một khối code. Thông thường, các IDE Python sử dụng dấu tab để thụt đầu dòng với quy ước một thụt đầu dòng là 4 dấu cách.
  • 17. Xuất nhập dữ liệu với console Python sử dụng các phương thức sau để làm việc với console:  print() – xuất dữ liệu ra console.  input() – nhập dữ liệu từ console. Hãy xem các ví dụ sau: name = input("Your name: ") age = input("Your age: ") location = input("Your location: ") print('Hello', name, age, 'from', location)
  • 18. SquareSpiral1.py # SquareSpiral1.py - Draws a square spiral import turtle t = turtle.Pen() for x in range(100): t.forward(x) t.left(90) SquareSpiral2.py import turtle t = turtle.Pen() for x in range(100): t.forward(x) t.left(91)
  • 19. CircleSpiral1.py import turtle t = turtle.Pen() for x in range(100): t.circle(x) t.left(91) SquareSpiral3.py import turtle t = turtle.Pen() t.pencolor("red") for x in range(100): t.forward(x) t.left(91)
  • 20. ColorSquareSpiral.py import turtle t = turtle.Pen() colors = ["red", "yellow", "blue", "green"] for x in range(100): t.pencolor(colors[x%4]) t.forward(x) t.left(91) ColorCircleSpiral.py import turtle t = turtle.Pen() turtle.bgcolor("black") colors = ["red", "yellow", "blue", "green"] for x in range(100): t.pencolor(colors[x%4]) t.circle(x) t.left(91)
  • 21. ColorSpiral.py import turtle t = turtle.Pen() turtle.bgcolor("black") # You can choose between 2 and 6 sides for some cool shapes! sides = 6 colors = ["red", "yellow", "blue", "orange", "green", "purple"] for x in range(360): t.pencolor(colors[x%sides]) t.forward(x * 3/sides + x) t.left(360/sides + 1) t.width(x*sides/200)
  • 22.
  • 23. Biến, phép gán, kiểu dữ liệu trong Python Hãy xem một số lệnh sau: variables.py name = 'Donald Trump' # biến kiểu chuỗi age = 40 # biến kiểu số companies = ['Apple', 'Google', 'Microsoft'] # biến kiểu danh sách person_tuple = ('Trump', 'USA', 40, 'President') # biến kiểu tuple person_dict = {'Name': 'Trump', 'Age': 40, 'Job': 'US President'} # biến kiểu từ điển print(name) print(age) print(companies) print(person_tuple) print(person_dict)
  • 24. Đây là các lệnh khai báo và gán giá trị cho biến với một số kiểu dữ liệu cơ sở của Python. Trong ví dụ trên, name, age, companies, person_tuple, person_dict là các biến, dấu = là dấu phép gán, bên tay phải dấu = là giá trị của biến.
  • 25. Numbers aNd Variables: PythoN does the math my_name = "Bryson" my_age = 43 your_name = input("What is your name? ") your_age = input("How old are you? ") print("My name is", my_name, ", and I am", my_age, "years old.") print("Your name is", your_name, ", and you are", your_age, ".") print("Thank you for buying my book,", your_name, "!") ThankYou.py
  • 26. Biến là một vị trí trong bộ nhớ được sử dụng để lưu trữ dữ liệu (giá trị). Biến được đặt tên duy nhất để phân biệt giữa các vị trí bộ nhớ khác nhau. Các quy tắc để viết tên một biến giống như quy tắc viết các định danh trong Python. Trong Python, bạn không cần khai báo biến trước khi sử dụng, chỉ cần gán cho biến một giá trị và nó sẽ tồn tại. Cũng không cần phải khai báo kiểu biến, kiểu biến sẽ được nhận tự động dựa vào giá trị mà bạn đã gán cho biến. Để dễ hình dung, biến trong Python có nét tương tự như file và shortcut trong windows. Trong đó, file trên ổ đĩa tương tự như giá trị của biến trong bộ nhớ. Shortcut (lối tắt) đến file tương tự như biến trong Python. Biến trong Python bắt buộc phải tạo ra cùng phép gán. Giá trị của biến trong bộ nhớ được tự động “thu dọn” khi không sử dụng đến nhờ một tiến trình gọi là Garbage Collection. Biến trong Python
  • 27. Gán giá trị cho biến: Để gán giá trị cho biến ta sử dụng toán tử =. Bất kỳ loại giá trị nào cũng có thể gán cho biến hợp lệ. Ví dụ: hoa = "Hồng" la = 3 canh = 5.5 Phía trên là 3 câu lệnh gán, "Hồng" là một chuỗi ký tự, được gán cho biến hoa, 3 là số nguyên và được gán cho la, 5.5 là số thập phân và gán cho canh. Gán nhiều giá trị: Trong Python bạn có thể thực hiện gán nhiều giá trị trong một lệnh như sau: hoa, la, canh = "Hồng", 3, 5.5 Nếu muốn gán giá trị giống nhau cho nhiều biến thì có thể viết lệnh như sau: hoa, la, canh = 3 Lệnh trên sẽ gán giá trị 3 cho cả 3 biến là hoa, la và canh.
  • 28. Lập trình với các toán tử: Máy tính Pizza Nhắc đến pizza, bây giờ hãy tưởng tượng bạn sở hữu một tiệm bánh pizza.Hãy viết một chương trình nhỏ để tìm ra tổng chi phí của một đơn đặt hàng pizza đơn giản, bao gồm cả thuế bán hàng. Giả sử chúng tôi đang đặt một hoặc nhiều chiếc bánh pizza có giá như nhau và chúng tôi đang đặt hàng ở Atlanta, Georgia, Hoa Kỳ. Thuế bán hàng không được bao gồm trong giá thực đơn nhưng được thêm vào khi mua hàng. Tỷ lệ là 8 phần trăm, có nghĩa là cứ mỗi đô la chúng tôi trả cho chiếc bánh pizza, chúng tôi cũng phải trả tám xu tiền thuế bán hàng. Chúng tôi có thể mô hình hóa chương trình này bằng các từ như sau: 1. Hỏi người đó muốn có bao nhiêu chiếc bánh pizza. 2. Hỏi giá thực đơn của mỗi chiếc bánh pizza. 3. Tính tổng chi phí của những chiếc pizza làm tổng phụ của chúng tôi. 4. Tính thuế bán hàng còn nợ, ở mức 8 phần trăm của tổng phụ. 5. Cộng thuế bán hàng vào tổng phụ để có tổng cuối cùng. 6. Hiển thị cho người dùng tổng số tiền đến hạn, bao gồm cả thuế. Chúng tôi đã biết cách yêu cầu người dùng nhập. Để tính toán vớicác số chúng tôi đã nhập làm đầu vào, chúng tôi cần thêm một hàm nữa: eval ().Hàm eval () đánh giá hoặc tìm ra giá trị của đầu vào mà chúng ta đã nhập. Đầu vào bàn phím bằng Python luôn được nhận dưới dạng một chuỗi ký tự văn bản, vì vậy chúng tôi sử dụng eval () để biến đầu vào đó thành một số. Vì vậy, nếu chúng ta nhập "20" vào chương trình của mình, eval ("20") sẽ cung cấp cho chúng ta giá trị số 20, sau đó chúng ta có thể sử dụng trong các công thức toán học để tính các số mới, chẳng hạn như giá của 20 chiếc pizza. Hàm eval () khá mạnh khi làm việc với các số trong Python.Bây giờ chúng ta đã biết cách biến đầu vào của người dùng thành các con số mà chúng ta có thể tính toán, chúng ta có thể chuyển đổi các bước được đánh số của kế hoạch chương trình của chúng ta thành mã thực tế.
  • 29. AtlantaPizza.py # AtlantaPizza.py - a simple pizza cost calculator # Ask the person how many pizzas they want, get the number with eval() number_of_pizzas = eval(input("How many pizzas do you want? ")) # Ask for the menu cost of each pizza cost_per_pizza = eval(input("How much does each pizza cost? ")) # Calculate the total cost of the pizzas as our subtotal subtotal = number_of_pizzas * cost_per_pizza # Calculate the sales tax owed, at 8% of the subtotal tax_rate = 0.08 # Store 8% as the decimal value 0.08 sales_tax = subtotal * tax_rate # Add the sales tax to the subtotal for the final total total = subtotal + sales_tax # Show the user the total amount due, including tax print("The total cost is $",total) print("This includes $", subtotal, "for the pizza and") print("$", sales_tax, "in sales tax.")
  • 30.
  • 31. SayMyName.py # SayMyName.py - prints a screen full of the user's name # Ask the user for their name name = input("What is your name? ") # Print their name 100 times for x in range(100): # Print their name followed by a space, not a new line print(name, end = " ")
  • 32. SpiralMyName.py # SpiralMyName.py - prints a colorful spiral of the user's name import turtle # Set up turtle graphics t = turtle.Pen() turtle.bgcolor("black") colors = ["red", "yellow", "blue", "green"] # Ask the user's name using turtle's textinput pop-up window u your_name = turtle.textinput("Enter your name", "What is your name?") # Draw a spiral of the name on the screen, written 100 times for x in range(100): t.pencolor(colors[x%4]) # Rotate through the four colors v t.penup() # Don't draw the regular spiral lines w t.forward(x*4) # Just move the turtle on the screen x t.pendown() # Write the user's name, bigger each time y t.write(your_name, font = ("Arial", int( (x + 4) / 4), "bold") ) t.left(92) # Turn left, just as in our other spirals
  • 33.
  • 34. ColorSpiralInput.py import turtle # Set up turtle graphics t = turtle.Pen() turtle.bgcolor("black") # Set up a list of any 8 valid Python color names colors = ["red", "yellow", "blue", "green", "orange", "purple", "white", "gray"] # Ask the user for the number of sides, between 1 and 8, with a default of 4 sides = int(turtle.numinput("Number of sides", "How many sides do you want (1-8)?", 4, 1, 8)) # Draw a colorful spiral with the user-specified number of sides for x in range(360): u t.pencolor(colors[x % sides]) # Only use the right number of colors v t.forward(x * 3 / sides + x) # Change the size to match number of sides w t.left(360 / sides + 1) # Turn 360 degrees / number of sides, plus 1 x t.width(x * sides / 200) # Make the pen larger as it goes outward
  • 35.
  • 36. MathHomework.py print("MathHomework.py") # Ask the user to enter a math problem problem = input("Enter a math problem, or 'q' to quit: ") # Keep going until the user enters 'q' to quit while (problem != "q"): # Show the problem, and the answer using eval() print("The answer to ", problem, "is:", eval(problem) ) # Ask for another math problem problem = input("Enter another math problem, or 'q' to quit: ") # This while loop will keep going until you enter 'q' to quit
  • 37.
  • 38. Các kiểu dữ liệu cơ bản của Python Python có các loại kiểu dữ liệu cơ bản: số, chuỗi, danh sách, tuple, từ điển, boolean. Kiếu số trong python chia làm 3 loại: số nguyên (int), số thực (float), số phức (complex). Dưới đây là ví dụ về biểu diễn giá trị số trong Python: Số nguyên có thể viết ở cơ số 10 (mặc định), cơ số 8 (bắt đầu bằng 0o), cơ số 16 (bắt đầu bằng 0x). Kiểu float phải có dấu chấm thập phân và có thể viết ở dạng khoa học. Kiểu complex phải có ký tự ảo j (hoặc J).
  • 39. Số nguyên có thể viết ở cơ số 10 (mặc định), cơ số 8 (bắt đầu bằng 0o), cơ số 16 (bắt đầu bằng 0x). Kiểu float phải có dấu chấm thập phân và có thể viết ở dạng khoa học. Kiểu complex phải có ký tự ảo j (hoặc J). Chú ý: Python 2.x có hai kiểu số nguyên int và long. Kiểu long cần biểu diễn với hậu tố L (hoặc l). Số nguyên ở hệ cơ số 8 viết bắt đầu bằng 0. Vì vậy, khi đọc tài liệu nên lưu ý xem đó là Python 2 hay Python 3. Hai phiên bản này có nhiều điểm không tương thích. Kiểu boolean chỉ nhận một trong hai giá trị True hoặc False và là một kiểu con của kiểu số nguyên. Lưu ý giá trị boolean phải viết chính xác là True/False. Kiểu chuỗi ký tự được viết trong cặp dấu ngoặc đơn ”, ngoặc kép “”, trong cặp ba dấu ngoặc đơn hoặc ba dấu ngoặc kép. Mặc định chuỗi ký tự trong Python chỉ chứa ký tự Unicode. Python không có kiểu ký tự. Ký tự được coi là một chuỗi có 1 phần tử. Kiểu danh sách trong Python tương tự như kiểu mảng trong các ngôn ngữ như C nhưng không giới hạn kiểu dữ liệu của phần tử cũng như không cố định số phần tử. Cách viết giá trị kiểu danh sách như sau: companies = ['Apple', 'Google', 'Microsoft', 'IBM', 1945, 1975]
  • 40.
  • 41. Loops Are Fun (You CAn sAY ThAT AgAin)
  • 42. Rosette.py import turtle t = turtle.Pen() t.circle(100) # This makes our first circle (pointing north) t.left(90) # Then the turtle turns left 90 degrees t.circle(100) # This makes our second circle (pointing west) t.left(90) # Then the turtle turns left 90 degrees t.circle(100) # This makes our third circle (pointing south) t.left(90) # Then the turtle turns left 90 degrees t.circle(100) # This makes our fourth circle (pointing east) Rosette4.py import turtle t = turtle.Pen() for x in range(4): t.circle(100) t.left(90)
  • 43. Rosette6.py import turtle t = turtle.Pen() u for x in range(6): v t.circle(100) w t.left(60)
  • 44. RosetteGoneWild.py import turtle t = turtle.Pen() # Ask the user for the number of circles in their rosette, default to 6 number_of_circles = int(turtle.numinput("Number of circles", "How many circles in your rosette?", 6)) for x in range(number_of_circles): t.circle(100) t.left(360/number_of_circles)
  • 45. SayOurNames.py # Ask the user for their name name = input("What is your name? ") # Keep printing names until we want to quit while name != "": # Print their name 100 times for x in range(100): # Print their name followed by a space, not a new line print(name, end = " ") print() # After the for loop, skip down to the next line # Ask for another name, or quit name = input("Type another name, or just hit [ENTER] to quit: ") print("Thanks for playing!")
  • 46.
  • 47. SpiralFamily.py import turtle # Set up turtle graphics t = turtle.Pen() turtle.bgcolor("black") colors = ["red", "yellow", "blue", "green", "orange", "purple", "white", "brown", "gray", "pink" ] family = [] # Set up an empty list for family names # Ask for the first name name = turtle.textinput("My family", "Enter a name, or just hit [ENTER] to end:") # Keep asking for names while name != "": # Add their name to the family list family.append(name) # Ask for another name, or end name = turtle.textinput("My family", "Enter a name, or just hit [ENTER] to end:") # Draw a spiral of the names on the screen for x in range(100): t.pencolor(colors[x%len(family)]) # Rotate through the colors t.penup() # Don't draw the regular spiral lines t.forward(x*4) # Just move the turtle on the screen t.pendown() # Draw the next family member's name t.write(family[x%len(family)], font = ("Arial", int((x+4)/4), "bold") ) t.left(360/len(family) + 2) # Turn left for our spiral
  • 48.
  • 49. ViralSpiral.py import turtle t = turtle.Pen() t.penup() turtle.bgcolor("black") # Ask the user for the number of sides, default to 4, min 2, max 6 sides = int(turtle.numinput("Number of sides", "How many sides in your spiral of spirals? (2-6)", 4,2,6)) colors = ["red", "yellow", "blue", "green", "purple", "orange"] # Our outer spiral loop for m in range(100): t.forward(m*4) position = t.position() # Remember this corner of the spiral heading = t.heading() # Remember the direction we were heading print(position, heading) # Our "inner" spiral loop # Draws a little spiral at each corner of the big spiral for n in range(int(m/2)): t.pendown() t.pencolor(colors[n%sides]) t.forward(2*n) t.right(360/sides - 2) t.penup() t.setx(position[0]) # Go back to the big spiral's x location t.sety(position[1]) # Go back to the big spiral's y location t.setheading(heading) # Point in the big spiral's heading t.left(360/sides + 2) # Aim at the next point on the big spiral
  • 50.
  • 51.
  • 52.
  • 53. if statements if condition: indented statement(s) IfSpiral.py answer = input("Do you want to see a spiral? y/n:") if answer == 'y': print("Working...") import turtle t = turtle.Pen() t.width(2) for x in range(100): t.forward(x*2) t.left(89) { print("Okay, we're done!")
  • 54. OldEnough.py driving_age = eval(input("What is the legal driving age where you live? ")) your_age = eval(input("How old are you? ")) if your_age >= driving_age: print("You're old enough to drive!") if your_age < driving_age: print("Sorry, you can drive in", driving_age - your_age, "years.")
  • 55. OldEnoughOrElse.py driving_age = eval(input("What is the legal driving age where you live? ")) your_age = eval(input("How old are you? ")) if your_age >= driving_age: print("You're old enough to drive!") else: print("Sorry, you can drive in", driving_age - your_age, "years.")
  • 56. PolygonOrRosette.py import turtle t = turtle.Pen() # Ask the user for the number of sides or circles, default to 6 number = int(turtle.numinput("Number of sides or circles", "How many sides or circles in your shape?", 6)) # Ask the user whether they want a polygon or rosette shape = turtle.textinput("Which shape do you want?", "Enter 'p' for polygon or 'r' for rosette:")w for x in range(number): if shape == 'r': # User selected rosette t.circle(100) else: # Default to polygon t.forward (150) t.left(360/number)
  • 57. RosettesAndPolygons.py # RosettesAndPolygons.py - a spiral of polygons AND rosettes! import turtle t = turtle.Pen()# Ask the user for the number of sides, default to 4 sides = int(turtle.numinput("Number of sides", "How many sides in your spiral?", 4)) # Our outer spiral loop for polygons and rosettes, from size 5 to 75 for m in range(5,75): t.left(360/sides + 5) t.width(m//25+1) t.penup() # Don't draw lines on spiral t.forward(m*4) # Move to next corner t.pendown() # Get ready to draw # Draw a little rosette at each EVEN corner of the spiral if (m % 2 == 0): for n in range(sides): t.circle(m/3) t.right(360/sides) # OR, draw a little polygon at each ODD corner of the spiral else: for n in range(sides): t.forward(m) t.right(360/sides)
  • 58. WhatsMyGrade.py grade = eval(input("Enter your number grade (0-100): ")) if grade >= 90: print("You got an A! :) ") elif grade >= 80: print("You got a B!") elif grade >= 70: print("You got a C.") elif grade >= 60: print("You got a D...") else: print("You got an F. :( ")
  • 59.
  • 60. WhatToWear.py rainy = input("How's the weather? Is it raining? (y/n)").lower() cold = input("Is it cold outside? (y/n)").lower() w if (rainy == 'y' and cold == 'y'): # Rainy and cold, yuck! print("You'd better wear a raincoat.") elif (rainy == 'y' and cold != 'y'): # Rainy, but warm print("Carry an umbrella with you.") elif (rainy != 'y' and cold == 'y'): # Dry, but cold print("Put on a jacket, it's cold out!") elif (rainy != 'y' and cold != 'y'): # Warm and sunny, yay! print("Wear whatever you want, it's beautiful outside!")
  • 61.
  • 62. RandomSpiralsFunction.py import random import turtle t = turtle.Pen() t.speed(0) turtle.bgcolor("black") colors = ["red", "yellow", "blue", "green", "orange", "purple", "white", "gray"] def random_spiral(): t.pencolor(random.choice(colors)) size = random.randint(10,40) x = random.randrange(-turtle.window_width()//2, turtle.window_width()//2) y = random.randrange(-turtle.window_height()//2, turtle.window_height()//2) t.penup() t.setpos(x,y) t.pendown() for m in range(size): t.forward(m*2) t.left(91) for n in range(50): random_spiral()
  • 63. RandomSmileys.py import random import turtle t = turtle.Pen() t.speed(0) t.hideturtle() turtle.bgcolor("black") def draw_smiley(x,y): t.penup() t.setpos(x,y) t.pendown() # Head t.pencolor("yellow") t.fillcolor("yellow") t.begin_fill() t.circle(50) t.end_fill() # Left eye t.setpos(x-15, y+60) t.fillcolor("blue") t.begin_fill() t.circle(10) t.end_fill() # Right eye t.setpos(x+15, y+60) t.begin_fill() t.circle(10) t.end_fill() # Mouth t.setpos(x-25, y+40) t.pencolor("black") t.width(10) t.goto(x-10, y+20) t.goto(x+10, y+20) t.goto(x+25, y+40) t.width(1) v for n in range(50): x = random.randrange(-turtle.window_width()//2,turtle.window_width()//2) y = random.randrange(-turtle.window_height()//2,turtle.window_height()//2) draw_smiley(x,y)
  • 64. PingPongCalculator.py def convert_in2cm(inches): return inches * 2.54 def convert_lb2kg(pounds): return pounds / 2.2 height_in = int(input("Enter your height in inches: ")) weight_lb = int(input("Enter your weight in pounds: ")) height_cm = convert_in2cm(height_in) weight_kg = convert_lb2kg(weight_lb) ping_pong_tall = round(height_cm / 4) ping_pong_heavy = round(weight_kg * 1000 / 2.7) feet = height_in // 12 inch = height_in % 12 print("At", feet, "feet", inch, "inches tall, and", weight_lb, "pounds,") print("you measure", ping_pong_tall, "Ping-Pong balls tall, and ") print("you weigh the same as", ping_pong_heavy, "Ping-Pong balls!")
  • 65. TurtleDraw.py import turtle t = turtle.Pen() t.speed(0) turtle.onscreenclick(t.setpos) TurtleDrawMax.py import turtle t = turtle.Pen() t.speed(0) turtle.onscreenclick(t.setpos) turtle.bgcolor("blue") t.pencolor("green") t.width(99)
  • 66. ArrowDraw.py import turtle t = turtle.Pen() t.speed(0) u t.turtlesize(2,2,2) def up(): t.forward(50) def left(): t.left(90) def right(): t.right(90) turtle.onkeypress(up, "Up") turtle.onkeypress(left, "Left") turtle.onkeypress(right, "Right") turtle.listen()
  • 67. ClickSpiral.py import random import turtle t = turtle.Pen() t.speed(0) turtle.bgcolor("black") colors = ["red", "yellow", "blue", "green", "orange", "purple", "white", "gray"] def spiral(x,y): t.pencolor(random.choice(colors)) size = random.randint(10,40) t.penup() t.setpos(x,y) t.pendown() for m in range(size): t.forward(m*2) t.left(91) turtle.onscreenclick(spiral)
  • 68. ClickAndSmile.py import random import turtle t = turtle.Pen() t.speed(0) t.hideturtle() turtle.bgcolor("black") def draw_smiley(x,y): t.penup() t.setpos(x,y) t.pendown() # Face t.pencolor("yellow") t.fillcolor("yellow") t.begin_fill() t.circle(50) t.end_fill() # Left eye t.setpos(x-15, y+60) t.fillcolor("blue") t.begin_fill() t.circle(10) t.end_fill() # Right eye t.setpos(x+15, y+60) t.begin_fill() t.circle(10) t.end_fill() # Mouth t.setpos(x-25, y+40) t.pencolor("black") t.width(10) t.goto(x-10, y+20) t.goto(x+10, y+20) t.goto(x+25, y+40) t.width(1) turtle.onscreenclick(draw_smiley)
  • 69. ClickKaleidoscope.py import random import turtle t = turtle.Pen() t.speed(0) t.hideturtle() turtle.bgcolor("black") colors = ["red", "yellow", "blue", "green", "orange", "purple", "white", "gray"] def draw_kaleido(x,y): t.pencolor(random.choice(colors)) size = random.randint(10,40) draw_spiral(x,y, size) draw_spiral(-x,y, size) draw_spiral(-x,-y, size) draw_spiral(x,-y, size) def draw_spiral(x,y, size): t.penup() t.setpos(x,y) t.pendown() for m in range(size): t.forward(m*2) t.left(92) turtle.onscreenclick(draw_kaleido)