3、python入门 ——Mosh

入门基础

  • 一、运算符
    • 1、算术运算符
      • 1)、算术运算符
      • 2)、增广赋值运算符
      • 3)、操作符优先级
    • 2、逻辑运算符
    • 3、比较运算符
    • 4、运算符优先级
  • 二、处理数字的有用函数
    • Python内置的函数
      • round()
      • abs()
    • math库
  • 三、条件语句
    • if - else
    • if - elif - else
  • 四、循环语句
    • while - else 循环
      • 例:猜数游戏
      • 例:模拟汽车游戏
    • for 循环
    • 嵌套循环
      • 例:使用嵌套打印下列所示的F
      • 挑战:使用嵌套打印下列所示的I
  • 补充函数:range()

一、运算符

1、算术运算符

1)、算术运算符

加(+)、减(-)、乘(*)、除(/:求得完整的商,//:求得商的整数部分),取余(%)、指数(a**b = a的b次幂)

#课上Mosh老师是用10 3来举例,但是我觉得没有那么直观
#因为结果为3.3333,会担心是否四舍五入之类的
print(10 / 4)
>>>2.5

print(10 // 4)
>>>2

print(10 % 4)
>>>2

print(10 ** 4)
>>>10 000

2)、增广赋值运算符

(可以类比C语言),(一开始听到这个概念我还以为是新的没接触过的运算符,原来是一直用着的)

+=、-=、/etc

只是使代码更为简洁

3)、操作符优先级

和数学以及其他语言一样的优先级顺序

优先级 操作符
1 括号 ( )
2 指数(幂次) **
3 乘、除 *、/ 或 //
4 加、减 +、-
x = 10 + 3 * 2 ** 2
print(x)
>>>22

x = (10 + 3) * 2 ** 2
print(x)
>>>52

2、逻辑运算符

and
or
not

优先级从高到低是not、and、or

3、比较运算符

、>=、<、<=
==、!=

weight = int(input('Weight: '))
unit = input('(L)bs or (K)g: ')
if unit.upper() == 'L':#这个处理太棒了,我之前写这个代码的时候一直傻乎乎地用‘L’ or ‘l’来写,我真的是太傻了
    converted = weight * 0.45
    print(f'You are {converted} kilos')
else:
    converted = weight / 0.45
    print(f'You are {converted} pounds')

>>>Weight: 160
>>>(L)bs or (K)g: l
>>>You are 72.0 kilos

4、运算符优先级

优先级从高到低排列:

运算符 描述
** 指数
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 ‘AND’
^ I 位运算符
<= < > >= 比较运算符
== != 比较运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not or and 逻辑运算符

二、处理数字的有用函数

Python内置的函数

round()

小数四舍五入为一个整数

x = 2.9
print(round(x))
>>>3

abs()

取绝对值

math库

注意先引用库
引用整个库:import math
引用库中的xxx函数:from math import xxx

使用时用点运算(math.)

Python 3 math库官网

三、条件语句

if - else

if - elif - else

四、循环语句

while - else 循环

else可以与while或者for等循环语句搭配

当while条件不成立时,直接跳出while循环,执行else语句;如果在while里面包含break并且执行了,则else语句不执行

for循环同理

例:猜数游戏

secret_number = 9
guess_count = 0
guess_limit = 3
while guess_count < guess_limit:
    guess = int(input('Guess: '))
    guess_count += 1
    if guess == secret_number:
        print('You won!')
        break
else:
    print('Sorry, you failed!')

>>>Guess: 1
>>>Guess: 2
>>>Guess: 3
>>>Sorry, you failed!

>>>Guess: 2
>>>Guess: 9
>>>You won!

例:模拟汽车游戏

command = ''
started = False
while 1 :
    command = input('>').lower()#!!!注意还能这样用,目的是为了接下来的所有转换(.lower())不重复出现多次
    if command == 'start':
        if started == True:#if started:即可
            print('The car is already start!')
        else:
            started = True
            print('Car started...')
    elif command == 'stop':
        if started == False:#if not started:即可
            print('The car is already stop!')
        else:
            started = False
            print('Car stopped.')
    elif command == 'help':
        print('''
start - to start the car
stop - to stop the car
quit - to quit
        ''')
    elif command == 'quit':
        break
    else:
        print("I don't understand that!")

结果:

>start
Car started...
>start
The car is already start!
>stop
Car stopped.
>stop
The car is already stop!
>help

start - to start the car
stop - to stop the car
quit - to quit

>abs
I don't understand that!
>quit

command = input(’>’).lower()
!!!注意还能这样用,目的是为了接下来的所有转换(.lower())不重复出现多次

for 循环

可用来遍历字符串

for item in 'Python':
    print(item)

>>>
P
y
t
h
o
n

可用来遍历列表

for item in ['Python','EDA','IOT','FPGA']:
    print(item)

>>>
Python
EDA
IOT
FPGA

嵌套循环

for x in range(4):
    for y in range(3):
        print(f'({x},{y})')
>>>
(0,0)
(0,1)
(0,2)
(1,0)
(1,1)
(1,2)
(2,0)
(2,1)
(2,2)
(3,0)
(3,1)
(3,2)

例:使用嵌套打印下列所示的F

3、python入门 ——Mosh_第1张图片

numbers = [5, 2, 5, 2, 2]
for x_count in numbers:
    output = ''
    for count in range(x_count):
        output += 'x'
    print(output)

>>>
xxxxx
xx
xxxxx
xx
xx

挑战:使用嵌套打印下列所示的I

**

  • 挑战:使用嵌套打印下列所示的I 下次做出来了再补充,感觉头要秃
    用遍历反而一时有点搞不出来…
    不用遍历就贼简单
    **

补充函数:range()

range() 函数可创建一个整数列表,一般用在 for 循环中。

函数语法
range(start, stop[, step])
参数说明:
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4],没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
实例

range(10)        # 从 0 开始到 10
>>>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range(1, 11)     # 从 1 开始到 11
>>>[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
range(0, 30, 5)  # 步长为 5
>>>[0, 5, 10, 15, 20, 25]
range(0, 10, 3)  # 步长为 3
>>>[0, 3, 6, 9]
range(0, -10, -1) # 负数
>>>[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
range(0)
>>>[]
range(1, 0)
>>>[]

以下是 range 在 for 中的使用,循环出runoob 的每个字母:

x = 'runoob'
for i in range(len(x)):
	print(x[i])

>>> 
r
u
n
o
o
b

你可能感兴趣的:(Python)