一.IF结构
python中的if结构为:
if A :
elif:
else:
如果A满足了,则elif,else均不执行。
与其他语言不同的是:{改为:,
if的嵌套:
if里的if不要顶格写,这样就能把if嵌套到if里。
if A:
A...
if B:
B...
二.如何DEBUG:
1.在想debug的地方制造断点(手动点)
2.右键进行DEBUG
三.random函数
# 导入random包
import random
r = random.randint(a,b)
# 表示随机出一个a到b之间的整型数字(包括a和b)
四.三目运算符
一般用于写一些比较简单的条件
pycharm有便利的多行缩进.
五.Python的循环
while循环:
while True:
# 以此为缩进的代码将被执行.
# 这是一个死循环式的while循环.
for循环:
for i in 'hello':
print(i)
# i指的是字符串的每一个字符
for i in range(5):
print(i)
# range函数表示生成一组数,这里是生成0 1 2 3 4,故循环5次
# range(a,b)则是生成[a,b)之间的每一个数(不包括b)
# range(a,b,c)则是生成[a,b)之间,每隔c的一个数(不包括b),如(1,10,3)表示1,4,7
for循环的不同之处在于他不能无限循环.
循环的后面可以带一个else,当循环中没有break被执行时,else会被执行。
显然的是,python中的for循环不像c语言和java那样与while相似甚至完全取代while。
至于循环剩下的内容,则与c和java一致。
六.Python 字符串
这周发现,B站上的视频讲的全是图书管理系统,看个油管视频试试水。
# 1.格式化字符串
first = 'Hou'
last = 'June'
msg = f'{first}[{last}] is a formatted string.'
# 2. 一些简单的函数
# 返回“标题化”的字符串(每个单词的第一个字母大写)
print(msg.title())
# 返回H的位置。只返回第一个找到的结果.-1表示找不到
# 查找的对象可以是字符串,返回字符串在msg中的起始位置
print(msg.find('H'))
# 找得到的才替换,替换的不光可以是字符串,也可以是字符。
print(msg.replace('formatted', 'Absolute formatted'))
# 判断字符(串)在变量中是否存在
# 返回的结果是布尔值
print('string' in msg)
# 获取字符串长度
print(len(msg))
执行结果
upper和lower函数较为有用,在人们输入单词时,很容易理解像Start和stArt的单词,但计算机不会把他们当成是相同的字符串,因此在输入前要用upper和lower这类的函数格式化。
七.特别的python运算
# /:结果带小数的除法
# //:取整的除法
# **:指数运算
print(10 / 3)
print(10 // 3)
print(10 ** 3)
执行结果:
# 导入math包
import math
# 去掉小数点并在整数位上加一 2.3->3
print(math.ceil(2.3))
# 去掉小数点且整数位不变 2.9->2
print(math.floor(2.9))
# 四舍五入
print(round(2.3))
# 取绝对值
print(abs(-2.9))
另附:在google上搜索Python math module 可以找到math包里各个函数的作用。
简单练习:开车,停车,退出
1.程序有4个功能:启动车辆,停止车辆,退出(结束程序),打开帮助
2.其中,车辆不能重复的启动和停止.
Car_Started = False
while True:
command = input(">")
if command.lower() == "start":
if Car_Started:
print("The car is already started!")
else:
print("Car started... ready to go!")
Car_Started = True
elif command.lower() == "stop":
if Car_Started:
print("Car stopped.")
Car_Started = False
else:
print("The car is already stooped!")
elif command.lower() == "quit":
break;
elif command.lower() == "help":
print("""
1. Input 'start' to start the car
2. Input 'stop' to stop the car
3. Input 'quit' to quit the game
""")
else:
print("I don't understand that...")
执行结果
八.数组
names = ['June','CSDN','blog','working!','studying!']
# 不看其他的语言通用的打印方法。
# 这种打印会打印整个数组.
print(names)
# 这种打印会从数组的尾端开始计数
print(names[-1])
# 这种打印是从数组的第n个元素开始,直到结束
print(names[2:])
# 当右边也有数字时,表示为打印到第m个元素结束.
# 左边是在数组中的实际位置,右边是实际位置+1
print(names[2:4])
执行结果
二维数组:
matrix = [
[1,2,3],
[4,5,6],
[7,8,9]
]
# 打印一行
print(matrix[0])
# 用for循环打印整个数组,或者直接用print
for row in matrix:
print(row)
else:
print(matrix)
数组的函数:
numbers = [5,2,1,7,4]
# 在数组尾部插入数字
numbers.append(20)
print(numbers)
# 在数组插入数字,位置可以是数组开头,中间和结尾.
numbers.insert(0,20)
print(numbers)
# 查找数组中的某一个数据第一次出现的地方.
print(numbers.index(20))
# index若是查找一个不存在于数组中的数据则会报错
# 这种情况下可以用in关键字判断,返回false说明不存在
print( 500 in numbers)
# 返回传入数据在数组中出现的次数
print(numbers.count(20))
# 对数组进行排序(从小到大的)
numbers.sort()
print(numbers)
# 对数组进行排序(从大到小的)
numbers.reverse()
print(numbers)
# 移除数组中与传入数据相同的元素,移除一个。
numbers.remove(20)
print(numbers)
# 像一个栈一样,弹出尾部的数据
numbers.pop()
print(numbers)
# 复制numbers的数据到numbers2中
# 用于备份一个数组.
numbers2 = numbers.copy()
numbers.append(100)
print(numbers2)
# 清除整个数组
练习:删除一个数组中重复的元素
nums = [1,1,2,2,3,4,5]
for number in nums:
if nums.count(number) > 1:
nums.remove(number)
print(nums)
执行结果