evansyangs evansyangs
首页
分类
标签
归档
GitHub (opens new window)

Evan Yang

摸鱼小能手
首页
分类
标签
归档
GitHub (opens new window)
  • Kaggle Micro-Course
  • Kaggle Python Micro-Course

    • Kaggle Python Micro-Course
    • 1. Hello, Python
      • Intro
      • Hello, Python!
      • Numbers and arithmetic in Python
        • Order of operations(优先级)
        • Builtin functions for working with numbers
      • Exercise: Syntax, Variables, and Numbers
        • 0.
        • 1.
        • 2.
        • 3.
        • 4.
    • 2. Functions and Getting Help
    • 3. Booleans and Conditionals
    • 4. Lists
    • 5. Loops and List Comprehensions
    • 6. Strings and Dictionaries
    • 7. Working with External Libraries
  • Kaggle Machine Learning

目录

1. Hello, Python

# Intro

We'll start with a brief overview of Python syntax, variable assignment, and arithmetic operators.

# Hello, Python!

spam_amount = 0 #Variable assignment
print(spam_amount)

# Ordering Spam, egg, Spam, Spam, bacon and Spam (4 more servings of Spam)
spam_amount = spam_amount + 4
1
2
3
4
5

Variable assignment :spam_amount = 0

  • 无需声明变量
  • 无需设置type
if spam_amount > 0:
    print("But I don't want ANY spam!")

viking_song = "Spam Spam Spam"
print(viking_song)
1
2
3
4
5

The colon (:) at the end of the if line indicates that a new "code block" is starting. Subsequent lines which are indented are part of that code block.

viking_song = "Spam " * spam_amount
print(viking_song)
1
2

Python offers a number of cheeky little time-saving tricks like this where operators like * and + have a different meaning depending on what kind of thing they're applied to. (The technical term for this is operator overloading (opens new window)(运算符重载))

# Numbers and arithmetic in Python

type(19.95)
1

type() is very useful to be able to ask Python "what kind of thing is this?".

Operator Name Description
a + b Addition Sum of a and b
a - b Subtraction Difference of a and b
a * b Multiplication(乘法) Product of a and b
a / b True division(除法) Quotient of a and b
a // b Floor division Quotient of a and b, removing fractional parts(除法取整数部分)
a % b Modulus(余数) Integer remainder after division of a by b
a ** b Exponentiation(指数) a raised to the power of b
-a Negation The negative of a

# Order of operations(优先级)

hat_height_cm = 25
my_height_cm = 190
# How tall am I, in meters, when wearing my hat?
total_height_meters = hat_height_cm + my_height_cm / 100
print("Height in meters =", total_height_meters, "?")

total_height_meters = (hat_height_cm + my_height_cm) / 100
print("Height in meters =", total_height_meters)
1
2
3
4
5
6
7
8

Parentheses are your useful here. You can add them to force Python to evaluate sub-expressions in whatever order you want.

# Builtin functions for working with numbers

print(min(1, 2, 3))
print(max(1, 2, 3))
1
2

min and max return the minimum and maximum of their arguments

print(abs(32))
print(abs(-32))
1
2

abs returns the absolute value of it argument

print(float(10))
print(int(3.33))
# They can even be called on strings!
print(int('807') + 1)
1
2
3
4

In addition to being the names of Python's two main numerical types, int and float can also be called as functions which convert their arguments to the corresponding type

# Exercise: Syntax, Variables, and Numbers

Try your first Python programming exercise (opens new window)

# 0.

What is your favorite color?

# create a variable called color with an appropriate value on the line below
# (Remember, strings in Python must be enclosed in 'single' or "double" quotes)
color = "blue"
q0.check()
1
2
3
4

# 1.

pi = 3.14159 # approximate
diameter = 3

# Create a variable called 'radius' equal to half the diameter
radius = diameter / 2
# Create a variable called 'area', using the formula for the area of a circle: pi times the radius squared
area = pi * radius ** 2
q1.check()
1
2
3
4
5
6
7
8

# 2.

Add code to the following cell to swap variables a and b (so that a refers to the object previously referred to by b and vice versa).

####### Setup code - don't touch this part ###############
# If you're curious, these are examples of lists. We'll talk about 
# them in depth a few lessons from now. For now, just know that they're
# yet another type of Python object, like int or float.
a = [1, 2, 3]
b = [3, 2, 1]
q2.store_original_ids()
#################################################

# Your code goes here. Swap the values to which a and b refer.
# If you get stuck, you can always uncomment one or both of the lines in
# the next cell for a hint, or to peek at the solution.
tmp = a
a = b
b = tmp
#################################################
q2.check()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

Solution: The most straightforward solution is to use a third variable to temporarily store one of the old values:

tmp = a
a = b
b = tmp
1
2
3

If you've read lots of Python code, you might have seen the following trick to swap two variables in one line:

a, b = b, a
1

We'll demystify this bit of Python magic later when we talk about tuples.

# 3.

a) Add parentheses to the following expression so that it evaluates to 1.

(5 - 3) // 2
1

b) 🌶️ Add parentheses to the following expression so that it evaluates to 0

(8 - 3) * (2 - (1 + 1))
1

# 4.

Alice, Bob and Carol have agreed to pool their Halloween candy and split it evenly among themselves. For the sake of their friendship, any candies left over will be smashed. For example, if they collectively bring home 91 candies, they'll take 30 each and smash 1.

Write an arithmetic expression below to calculate how many candies they must smash for a given haul.

# Variables representing the number of candies collected by alice, bob, and carol
alice_candies = 121
bob_candies = 77
carol_candies = 109

# Your code goes here! Replace the right-hand side of this assignment with an expression
# involving alice_candies, bob_candies, and carol_candies
to_smash = (alice_candies . bob_candies + carol_candies) % 3

q4.check()
1
2
3
4
5
6
7
8
9
10
编辑 (opens new window)
#Python
上次更新: 2021/02/16, 02:45:37
Kaggle Python Micro-Course
2. Functions and Getting Help

← Kaggle Python Micro-Course 2. Functions and Getting Help→

最近更新
01
Dell7472黑苹果
03-27
02
上手HackMD
04-13
03
Windows Terminal设置
03-14
更多文章>
Theme by Vdoing | Copyright © 2019-2023 Evan Yang
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式