学习历程按照Github上jackfrued的100天学习python的进度来进行,再辅上一些自己查找的相关资料。
对应传送门:https://github.com/jackfrued/Python-100-Days/tree/master/
Day02 语言元素
Python3中定义变量时不需要指定类型,可以根据等号后边的值推导出类型。
定义变量的时候必须给变量赋值,即变量的初始值
在程序中可随时修改变量的值,而Python将始终记录变量的最新值
Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建
在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型
Python的标准数据类型:
不可变数据类型:number, string, tuple
可变数据类型:list, dictionary, set
image
(以上来源:https://www.cnblogs.com/gybb/p/9790463.html 『Python基础-3』变量、定义变量、变量类型、关键字)
通过input函数实现键盘的输入,通过print函数实现数据的输出,通过int、float等进行类型的转换。
a = int(input('a = '))
b = int(input('b = '))
print('%d + %d = %d' % (a, b, a + b))
print函数的格式化输出
转换标志:-表示左对齐;+表示在数值前要加上正负号;" "(空白字符)表示正数之前保留空格();0表示转换值若位数不够则用0填充。
print('%d + %d = %d' % (a, b, a + b))
PI = 3.141592653
print('%10.3f'%PI) #字段宽10,精度3
print('%-10.3f' %PI) #左对齐,还是10个字符,但空格显示在右边。
#3.142
PI=3.1415926
print('%+f' % PI) #显示正负号 #+3.141593
# 类型f的默认精度为6位小数
PI=3.1415926
print('%010.3f'%PI) #字段宽度为10,精度为3,不足处用0填充空白
#000003.142 0表示转换值若位数不够则用0填充
print函数的换行
print默认换行,不换行的话方法:
使用 print(x, end="")
end="" 可使输出不换行。双引号之间的内容就是结束的内容,可以是空格,也可以是其他字符,默认为换行
(来源:https://www.php.cn/python-tutorials-423471.html)
type()可以检查对应变量的类型
python每条语句后面不用加分号(当然也可以加),通过换行区分代码句;如果要一行写多个代码句的话需要在两者中加分号
写多行代码的方法:(1)每行后面加上一个空格和一个\。
(2)用小括号括起来
注释方法,单行用“#”,多行的话用"""
"""
12345
54321
"""
#12345
Day03 分支结构
python中分支语句有if,elif和else三种;没有switch/case语句
Python中没有用花括号来构造代码块而是使用了缩进的方式来设置代码的层次结构,如果if条件成立的情况下需要执行多条语句,只要保持多条语句具有相同的缩进就可以了,换句话说连续的代码如果又保持了相同的缩进那么它们属于同一个代码块,相当于是一个执行的整体。
if结构语句格式:if加判断条件加:号
value = float(input('请输入长度: '))
unit = input('请输入单位: ')
if unit == 'in' or unit == '英寸':
print('%f英寸 = %f厘米' % (value, value * 2.54))
elif unit == 'cm' or unit == '厘米':
print('%f厘米 = %f英寸' % (value, value / 2.54))
else:
print('请输入有效的单位')
4.获取随机整数,需导入random模块中的randomint函数。
from random import randint
face = randint(1, 6)
使用平方根的方式,需导入math模块,使用里面的math.sqrt函数(还有一种方式为from math import sqrt)
import math
a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
if a + b > c and a + c > b and b + c > a:
print('周长: %f' % (a + b + c))
p = (a + b + c) / 2
area = math.sqrt(p * (p - a) * (p - b) * (p - c))
print('面积: %f' % (area))
else:
print('不能构成三角形')
Day04 循环结构
for-in 循环,即for 变量 in range(范围):
sum = 0
for x in range(2, 101, 2):
sum += x
print(sum)
range可以用来产生一个不变的数值序列,而且这个序列通常都是用在循环中的,例如:
range(101)可以产生一个0到100的整数序列。
range(1, 100)可以产生一个1到99的整数序列。
range(1, 100, 2)可以产生一个1到99的奇数序列,其中的2是步长,即数值序列的增量。
(有些类似于C++和Java中的for i=0;i
While循环,和C++,java的有些类似,即while+判断条件+":"号
import random
answer = random.randint(1, 100)
counter = 0
while True:
counter += 1
number = int(input('请输入: '))
if number < answer:
print('大一点')
elif number > answer:
print('小一点')
else:
print('恭喜你猜对了!')
break
print('你总共猜了%d次' % counter)
break关键字可以提前终止循环,但是break只能终止它所在的那个循环。除了break之外,还有另一个关键字是continue,它可以用来放弃本次循环后续的代码直接让循环进入下一轮。
嵌套循环的例子(输出九九乘法表):
for i in range(1, 10):
for j in range(1, i + 1):
print('%d*%d=%d' % (i, j, i * j), end='\t')
print()