范逸凡第一周学习总结

第一周学习总结

一.基本语法

注释

  • ”#“后加注释内容
  • 多行注释"""内容 “”"或者‘’‘内容’‘’

行和缩进

1.一条语句占一行,一行结束不需要写分号

2.如果要将多条语句写在同一行,语句和语句之间必须写分号

3.一行的开头不能随意添加缩进(空格或者tab) - 代码默认情况下顶格写

标识符和关键字

1.标识符 - Python命名要求,要求名字都必须是标识符

标识符的要求:名字必须由字母、数字或者下划线组成,并且数字不能开头。

 变量名 = 数据
abc = 100
m12 = 100
a__ = 100
__12 = 100
# %abc = 100        # 报错
# 12abc = 100       # 报错

2.关键字 - 本身具有特殊意义或者特殊功能的标识符就是关键字,关键字不能用来命名

# 打印Python所有的关键字方法
from keyword import kwlist
print(kwlist)

基本数据类型

1.数字数据
意义:用来表示数值大小的数据就是数字,例如:价格、年龄、身高、距离、折扣、数量
表示方法:和数学中表示数字的方式一样,例如:199、3.14、-28、+0.34、3e4
类型(对数据的分类):根据数字中是否有小数点将数字数据分为整型(整数)和浮点型(小数)两类; 整型 - int、浮点型 - float

2.文本数据
意义:用文字符号来表示信息的数据就是文本数据,例如:姓名、家庭住址、学校名字、专业名字、电话号码、身份证号码等
表示方法:将文本数据放在单引号或者双引号中间。(必须加引号),例如:‘小明’、“清华大学”
类型:只有字符串这一种类型;字符串 - str

3.布尔数据
意义:在程序中表示真假、成立不成立关系的数据(用True表示真、肯定、成立; 用False表示假、否定、不成立)
表示方法:只有两个值:True、False
类型:布尔 - bool

4.空值
意义:在程序中表示空、表示无、没有
表示方法: 只有一个值:None

二.类型和类型转换

获取数据的类型 - type函数

type(数据) - 获取指定数据的类型

print(type(100))        # <class 'int'>
print(type(3.14))       # <class 'float'>
print(type('abc'))      # <class 'str'>

2.类型转换

类型名(数据) - 将指定的数据转换成指定的类型

1.int(数据) : 所有的小数、布尔值和部分字符串可以转换成int

所有的小数都可以转换成int - 转换的时候只保留整数部分

print(int(1.23))        # 1
print(int(2.9999))      # 2
print(int(-2.888))      # -2

所有的布尔都可以转换成整数

print(int(True))        # 1
print(int(False))       # 0

字符串内容是整数的字符串(去掉字符串的引号以后本身是一个整数的字符串)才能转换成整数

print(int('250'))       # 250
# print(int('12.5'))        # 报错

2.float(数据):所有的整数、布尔值和部分字符串可以转换成float
所有整数可以转换成float

print(float(34))        # 34.0
print(float(102))       # 102.0

布尔都可以转换成float

print(float(True))      # 1.0
print(float(False))     # 0.0

去掉字符串引号后本身是一个数字的字符串可以转换成float

print(float('23'))      # 23.0
print(float('1.23'))    # 1.23
print(float('3e4'))     # 30000.0
# 3)str(数据) - 任何类型的数据都可以转换成字符串,转换成字符串的时候是直接在数据外面加引号
# str(100)  -> '100'
# str(3.14)  -> '3.14'
# str(True) -> 'True'

# 4)bool(数据) - 任何类型的数据都可以转换成布尔。所有零值(0、0.0、0.000)和空值(None、''、[])会转换成False,其他的都是True
print(bool(0))      # False
print(bool(0.0))    # False
print(bool(None))   # False
print(bool(''))     # False

print(bool(34))         # True
print(bool(-233.8))     # True

print(bool('False'))        # True
print(bool('ksks'))         # True

三.输出函数

print - 输出函数(打印函数), 在控制输出/打印数据

在控制台看到的数据一定是程序中使用print打印的数据;如果想要将数据显示到控制台,必须在程序中用print打印出来

1.一个print打印一个数据

2.一个print同时打印多个数据

print(100)
print('abc')
print(type(300))
print(100 + 200)
print(100, 200, 300)
print(12.3, 67, '你好', True)
print('hello', 10 + 20, type(0.3))

3.定制end

print打印数据的原理:每次执行print的时候会先将数据打印到控制台,然后再打印end的值(如果没有定制end,end默认是换行)
定制end: print(数据1, 数据2, 数据3, …, end=字符串)

print(300, end=';')
print(200)
'''
300;200

'''

4.定制sep

sep控制同时打印多个数据的时候数据和数据之间的分割方式,sep的默认值是空格
print(数据1, 数据2, 数据3,…,sep=字符串)

print(10, 20, 30, 40, sep='===')

四.输入函数

1.输入函数 - input

在程序中获取从控制台输入的数据
1.程序中有多少个input,控制台就可以输入多少个数据(每次输入以回车结束)
input()
input()
2.input的用法

变量 = input(输入提示信息)

name = input('请输入你的名字:')
print(name, type(name))

address = input('请输入你的家庭住址:')
print(address, type(address))

注意:input操作,不管从控制台输入的是什么,程序中获得的数据都是字符串

# 提示用户输入年龄,并且将输入的年龄值转换成int,再保存到变量age中
age = int(input('请输入你的年龄:'))
print(age, type(age))
print(age > 18)

五.变量

1.变量的作用

变量是用来保存数据的。(将数据保存到变量中以后,就可以通过使用变量来使用数据)

数据保存到变量中以后再来使用数据可以让数据的意义更明确

print(18)
print(89)

age = 18
score = 89
print(age)
print(score)

2.定义变量(创建变量保存数据)

# 1)如果用print来作为变量名使用,会导致print函数的打印功能消失
# print = 100
print(200)

# 2)如果用类型名来作为变量名使用,会导致对应的类型转换无法进行
# int = 10
print(int(34.56))

3.驼峰式命名

dogName = '旺财'
pythonClassAddress = '14教室'

4)下划线分割单词

dog_name = '财财'
python_class_address = '14教室'

5)用变量保存具体的数据

a = 100
b = 'abc'

6)用变量保存已经赋值过的变量中的数据

c = name
print(c)

7)用变量保存运算表达式的运算结果

d = 100 + 200
print(300)
  1. 使用变量

使用变量就是使用变量中保存的数据。(数据能做的事情,保存这个数据的变量都可以做)

什么时候需要变量中保存的数据,什么时候就使用变量

num = 100
# 通过打印变量来打印变量中保存的数据
print(num)      # 100
print('num')    # num

# 通过获取变量的类型来获取变量中保存的数据的类型
print(type(num))        # <class 'int'>
print(type('num'))      # <class 'str'>

# 将变量中保存的数据作为运算对象
print(num + 200)        # 300
# print('num' + 200)    # 报错

4.重新给变量赋值

# 第一次给变量x赋值为100
x = 100
print(x)

# 重新给变量x赋值为200(重新赋值后新的值会覆盖原来的值)
x = 200
print(x)

# 重新给变量x赋值为 'abc'
x = 'abc'
print(x)

4.同时定义多个变量

# 1)同时定义多个变量赋相同的值:变量1 = 变量2 = 变量3 = ... = 数据
a1 = b1 = c1 = 20
print(a1, b1, c1)

# 2)同时定义多个变量赋不同的值:变量1, 变量2, 变量3,... = 数据1, 数据2, 数据3, ...
x1, y1, z1 = 10, 20, 30
print(x1, y1, z1)

六.数学运算符

Python中数学运算符:+(加)、-(减)、*(乘)、/(除)、%(取余-求余数)、//(整除)、**(幂运算)

  1. +(加)、-(减).(乘)、/(除)
    +、-、*、/ 和数学中的+、-、×、÷的功能一样
print(5 + 2)
print(5 - 2)
print(5 * 2)        # 10
print(5.0 * 2)      # 10.0
print(5 / 2)        # 2.5
print(10 / 2)       # 5.0
  1. % - 取余、取模(求余数)
print(10 % 3)       # 1
print(15 % 4)       # 3
print(15 % 2)       # 1

3.// - 整除

# x // y  -  x除以y的商,商向小取整(找和尚相邻的两个整数中较小的那个)
print(5 // 2)       # 2
print(3.8 // 2)      # 1.0
print(5.0 // 2)      # 2.0
print(-5 // 2)       # -3
  1. ** - 幂运算
# x ** y  - 求x的y次方
print(2 ** 3)
print(5 ** 4)
print(21 ** 2)
print(2 ** -2)      # 0.25
print(16 ** 0.5)    # 4.0
print(8 ** (1/3))   # 2.0

七.比较运算符

比较运算符:>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、==(等于)、!=(不等于)

# 1.所有的比较运算符的运算结果都是布尔值
print(10 > 9)
print(10 < 9)
print(10 >= 10)
print(10 <= 20)
print(10 == 20)
print(10 != 20)

2.Python中的比较运算支持连写表示范围

# 练习:写出判断score是否在[70, 90)范围内
score = float(input('请输入分数:'))

八.逻辑运算符

逻辑运算法:and(逻辑与)、or(逻辑或)、not(逻辑非)

复合条件 - 将多个条件连接成一个条件的连接方法:a.要求多个条件同时成立 b.要求多个条件中只要有一个条件成立就行

1.and(逻辑与)

"""
1)应用场景:要求多个条件同时成立的时候,这多个条件就用and来连接;相当于生活中的或者
2)运算规则:条件1 and 条件2   -  两个条件都成立结果就是True,只要有一个不成立结果就是False
    True and True   ->   True
    True and False  ->   False
    False and True  ->   False
    False and False  ->  False 
"""
# 案例1:写出判断num是否能够同时被3和5整除的条件
num = 30

# 条件:num是否能够同时被3和5整除  -> 既能够被3整除,又能够被5整除  -> 能被3整除的条件和能被5整除的条件同时成立
# 能被3整除的条件: num % 3 == 0
# 能被5整除的条件: num % 5 == 0
print('num是否能够同时被3和5整除:', num % 3 == 0 and num % 5 == 0)
print('num是否能够同时被3和5整除:', num % 15 == 0)

2.or(逻辑或)

"""
1)应用场景:要求多个条件中只要有一个条件成立就行,这多个条件就用or来连接;相当于生活中的或者
2)运算规则:条件1 or 条件2   -  两个条件中只要有一个条件成立结果就是True,两个条件都不成立结果才是False
    True or True  ->  True
    True or False   -> True
    False or True   -> True
    False or False  -> False
"""
# 案例:判断num是否能够被3或者7整除
num = 4
print('num是否能够被3或者7整除:', num % 3 == 0 or num % 7 == 0)

3.not(逻辑非)

"""
1)应用场景:对条件进行否定(相当于生活中的否定语句)
2)运算规则:not 条件   -   对指定条件进行否定
    not True    ->  False
    not False   ->  True
"""
# 案例1:写出age不大于18的条件
age = 72
print(not age > 18)
print(age <= 18)

九.赋值运算符

赋值运算符:=、+=、-=、*=、/=、%=、//=、**=

1.不管是简单的赋值运算符还是复合赋值运算符,其功能都是给变量赋值(将一个数据保存到一个变量中)
注意:所有赋值运算符的左边必须是变量,右边必须是能够提供数据的表达式

1.= 变量 = 数据 - 将数据直接保存到变量

a = 10
b = 20 * 2

2.复合赋值运算符:+=、-=、*=、/=、%=、//=、**=()

变量 += 数据 - 先将变量中的数据取出来和后面的数据进行加法运算,然后让加法运算的结果保存到前面的变量中

注意:复合赋值运算符前面的变量必须是已经赋值过的变量

c = 100
c += 10     # c = c + 10
print(c)    # 110

c -= 20
print(c)    # 90

c *= 2
print(c)    # 180

c %= 3      # c = c % 3 = 180 % 3 = 0
print(c)    # 0
  1. 运算符优先级
  • 数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)
  • ** > *、/、%、// > +、-
  • and > or
  • 有括号先算括号里面的

十.分支结构

分支结构存在的价值:解决程序中’如果xxx就xxx’的业务逻辑

1.if单分支结构 - 条件成立就执行某个操作,条件不成立这个操作就不执行
解决:如果xxx就xxx
语法:
if 条件语句:
代码段

说明:
a. if - 固定写法
b. 条件语句 - 任何有结果的表达式(一般是判断语句)
c. : - 固定写法
d. 代码段 - 结构上,和if保持一个缩进(tab)的一条或者多条语句(至少一条)
逻辑上,代码段里面的代码就是满足条件才会执行的代码

# 案例:如果num是偶数就在控制台打印'偶数'
num = 12
if num % 2 == 0:
    print('偶数')
    print('能被2整除')
print('是一个整数')
  1. if双分支结构 - 条件成立执行某个操作,条件不成立的时候执行另外一个操作

解决:如果xxx就xxx,否则就xxx
语法:
if 条件语句:
代码段1(条件成立会执行的代码)
else:
代码段2(条件不成立会执行的代码)

# 练习1:根据num的值打印'偶数'或者'奇数'
num = 34
if num % 2 == 0:
    print('偶数')
else:
    print('奇数')

3.if多分支结构 - 根据不同的条件做不同的事情

解决:如果xxx就xxx,如果xxx就xxx, 如果xxx就xxx
方法1: - 每个条件都会判断一次 (用在多个条件中其中一个条件成立,另外的条件也可能成立的时候)
if 条件1:
代码段1
if 条件2:
代码段2
if 条件3:
代码段3

方法2: - 后面的条件在前面的条件不成立的情况下才会判断 (用在多个条件中其中一个条件成立,另外的条件绝对不会成立的时候)
if 条件1:
代码段1
elif 条件2:
代码段2
elif 条件3:
代码段3

elif 条件N:
代码段N
else:
代码段M(前面所有条件都不成立的时候执行)

注意:else可以不写

# 案例:根据百分制的分数值,打印对应的等级:90及90分以上  - A、80多分  -  B、60多分、70多分  - C、60分以下  - D
# 方法1:
score = 98
if score >= 90:
    print('A')
if 80 <= score < 90:
    print('B')
if 60 <= score < 80:
    print('C')
if score < 60:
    print('D')

十一.for循环

1.for循环 - 让代码重复执行

语法:
for 变量 in 序列:
循环体
说明:
a. for、in、冒号 - 固定写法
b. 变量 - 可以没有定义的变量名,也可以是已经定义过的变量的变量名
c. 序列 - 容器型数据类型的数据,比如:字符串、列表、字典、集合、元组、迭代器、生成器、range等
d. 循环体 - 结构上,和for保持一个缩进的一条或者多条语句(至少一条)
逻辑上,循环体就是需要重复执行的代码
执行过程:
让变量去序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体。
for循环的循环次数由序列中元素的个数决定

for x in 'abc':
    print(x, 'hello world!')


for x in [10, 20, 30, 40, 50]:
    print(x, '你好!')

十二.for循环与range函数

1.range函数 - 创建等差数列

1)range(N) - 产生等差数列[0,N),差是1;range(5): 0,1,2,3,4
2)range(M, N) - 产生等差数列[M,N),差是1;range(5, 10): 5,6,7,8,9

for x in range(10):
    print(x)
# 10,9,8,7,6,5,4,3,2,1,(0)
for x in range(10, 0, -1):
    print(x)
# 案例1:求1+2+3+4+...+100
sum1 = 0
for x in range(1, 101):
    sum1 += x
print(sum1)

十三.while循环

语法:
while 条件语句:
循环体
执行过程:
不断的判断条件语句是否为True,如果为True就执行循环体,为False循环结束。

x = 0
while x < 5:
    print('hello world!')
    x += 1

2.for和while的选择问题

如果遇到了循环的问题,优先考虑使用for循环,for循环解决不了才使用while。
for的应用场景:循环次数确定
while的应用场景:循环次数不确定(写代码的时候程序员无法知道循环的次数)

3.break - break是循环关键字,只能在循环体中使用 break - break是循环关键字,只能在循环体中使用

# break的作用: 结束整个循环(执行循环体的时候如果遇到break,循环直接结束)
for x in range(5):
    print('+++++')
    print('-----')
    break
    print('=====')

3.while遇到break

while True:
需要重复执行的操作
if 循环结束条件:
break

pw = '123'
while True:
    value = input('请输入密码:')
    if value == pw:
        break

十四:循环相关例题

1.输出1-9的数字以及它们的平方和立方

for i in range(1, 10):
    print(f'{i}\t{i**2}\t{i**3}')

2.1-100求和

total = 0

for i in range(1, 101):
    total += i

print(total)

3.找出100~999之间的水仙花数

for x in rang(100, 1000):
	a = x // 100
    b = x // 10 % 10
    c = x % 10
    if a**3 + b**3 + c**3 = x:
    print(x)

4.输入一个大于1的正整数,判断它是不是质数

质数:只能被1和自身整除的数叫做质数,也叫作素数(prime number)。

假设这个数是N,如果是质数,那么在2到N-1之间应该没有它的因子。

num = int(input('num = '))
is_prime = True
for i in rang(2, num):
    if num % i == 0:
        is_prime = False
        break
print(is_prime)

5.输出100以内的质数

for num in range(2, 100):

    # 假设num是一个质数,将布尔值先赋值为True
    is_prime = True

    # 在2~N-1之间找一下有没有num的因子
    for i in range(2, num):
        if num % i == 0:
            # 不是质数就将对应的布尔值赋值为False
            is_prime = False
            # 使用break关键字提前终止循环
            break

    if is_prime:
        print(num)

6.猜数字小游戏

import random

answer = random.randrange(1, 101)
counter = 0
while True:
    counter += 1
    thy_answer = int(input('请输入:'))
	if  thy_answer >  answer:
        print('小一点')
    elif thy_answer <  answer:
        print('大一点')
    else:
     	print('恭喜你,猜中了')
        break
if counter > 7:
     print('温馨提示:智商余额不足!!!')
print('游戏结束')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值