Python从基础到入门——Day3

#学习笔记

#每日练习

课堂笔记

变量
变量即变化的量,核心是变与量
执行程序的本质就是一系列状态的变化
a = 1
print(a)

print("hello")

name = 'zhangsan'
sex = 'male'
age = 19
level = 10
print(name,sex,age,level)
print(name,sex,age,level,sep='-')

 

变量名只能是字母、数字、或下划线的任意组合,不能以数字开头
变量名的第一个字符不能是数字
关键字不能声明为变量名
定义方式:驼峰命名

 

AgeOfBoy = 56
NumberOfStudent = 90
# 下划线(推荐使用)
age_of_boy = 56
number_of_student = 90

 

注意:定义变量名,不好的方式
1.变量名为中文,拼音
2.变量名过长,变量名词不达意
代码提示:通义灵码
关键字:for from if import in is....
事先定义好,有着特殊含义和用途的单词
尽量避免使用
a = 10
print(a)

x = 'Info:18'
y = 'Info:19'
z = 'Info:19'
print(id(x))
print(id(y))
print(id(z))
print(x == y)
print(y == z)
print(z is y)

 

Python提供了交互的模式
Python实现int的时候有个小整数池
避免因创建相同的值而重复申请内容空间所带来的效率问题
Python解释器会在启动的时候创建出小整数池,范围是[-5,256]
该范围内的小整数对象是全局解释器范围内被重复使用,用于不会被FC回收

 

a = 4
print(id(a))
b = 3
b += 1
print(id(b))
Pycharm出于对性能的考虑,会扩大小整数池的范围,其他字符串,不可变类型也包含相同的处理方式。这是一种优化机制,至于范围到底多大,无需研究

 

y = -6
print(id(y))
x = -6
print(id(x))
print(x == y)
print(x is y)

y = 255
print(id(y))
x = 254
x += 1
print(id(x))
Python中的优化机制:鸭子机制,鸭子类型
内容管理:引用计数与垃圾回收机制
OC语言:引用计数机制——》苹果手机——》引用计数 +1 -1 GC
Java语言:安卓手机——》垃圾回收机制——》GC 自动垃圾回收机制

程序交互:input
input:用户输入任何值,都存成字符串类型
age = 10
salary = 3.1415926
a = 2**64
print(type(a))
print(type(age))
print(type(salary))

 

# 多行字符串,必须使用多引号
msg = '''
    aaa
    bbb
    ccc
'''
print(msg)
Python3:用户输入任何值,存成字符串类型
Python2:用户输入什么类型,就存成对应的类型


1.字符串相加的效率不高,申请了一个新的内存空间存入,相当于两个字符串的空间被复制了一次。
2.只能字符串相加,不能数字相加,不能字符串加其他类型
name = 'wangwu'
print(id(name))
age = '19'
print(id(age))
people = name+age
print(id(people))
print(people)
print(name*5)

name = 'xiaobing'
print(name)
name = str('zhangsan')
print(name)

msg = "my name is lisi , 24 yers old"
print(msg)

 

布尔;一个为True 一个为False
a = 3
b = 5
print(a>b)
print(a<b)

if a>b:
    print('is true')
else:
    print('is false')

 

条件句的作用
目标:条件语句的作用,if语法,if...else   多重判断  if嵌套

比如:去网吧,判断年龄,18-25岁
语法结构:
if 条件:
    条件成立执行代码
if True:
    print('条件成立执行代码1')
    print('条件成立执行代码2')
# 没有缩进到if语句块,所有和if条件无关
print('程序继续执行')

# 用户年龄大于18
age = 19
if age >= 18:
    print('可以进网吧')

print('系统关闭')

 

用户可以输出自己的年龄,如何系统进行判断是否成年
使用int转换数据类型
age = int(input('请输入你的年龄:'))
if age > 18:
     print(f'您的年龄是{age},已成年,可以上网')
 print('系统关闭')

# if...else...
# 条件成立执行if下方代码,条件不成立执行else下方代码
 age = int(input('请输入你的年龄:'))
 if age > 18:
    print(f'您的年龄是{age},已成年,可以上网')
 else:
     print(f'您的年龄是{age},未成年,不可以上网')
 print('系统关闭')

 

多重判断
小于18岁,童工
18-25岁,合法工作年龄
大于60岁,退休

 

 age = int(input('请输入你的年龄:'))
 if age < 18:
    print(f'您的年龄是{age},童工')
 elif 18<= age <=60:
     print(f'您的年龄是{age},合法工作年龄')
 elif age > 60:
     print(f'您的年龄是{age},退休年龄')
 print ('系统关闭')

 

# if嵌套:
# 坐车:如果有钱可以上车,没钱不能上车
# 上车后有空坐,可以坐下
# 如果没有空座,站着
# 假设money = 1表示有钱,money = 0表示没钱
# seat = 1 表示空座,seat = 0表示没空座 
money = 1
seat = 0
if money == 1:
    print('有钱,顺利上车')
    if seat == 1:
        print('有空座,坐下')
    else:
        print('没有空座,站着')
else:
    print('没钱,不能上车')
# 猜拳游戏
# 需求:参与游戏的角色:玩家:手动出拳   电脑:随机出拳
# 判断输赢:玩家出拳和电脑出拳,石头剪刀布
# 导入random模块
# 使用random模块中的随机整数功能
import random
# 计算电脑出拳的随机数字
computer = random.randint(0,2)
player = int(input('请输入出拳数字:0-石头,1-剪刀,2-布:'))
# 玩家胜利:p0:c1  p1:c2 p2:c0
if ((player == 0)and(computer == 1))or(player == 1) and(computer == 2)or(player == 2)and(computer == 0):
    print('玩家胜利')
# 平局:玩家=电脑
elif player == computer:
    print('平局')
else:
    print('电脑胜利')
print(computer)

 

# 随机数
# 使用步骤 1.导入模块    2.使用这个模块的功能
import random
num = random.randint(0,4)
print(num)
# 三目运算符
# 三木运算符:三元运算符或三元表达式
# 语法:
# 条件成立执行表达式if条件 else条件不成立执行的表达式

 

a = 1
b = 2
c = a if a>b else b
print(c)
# 需求:有两个变量,比较大小,如果变量1 大于 变量2 执行 变量1-变量2
# 否则变量2-变量1
aa = 10
bb = 61
cc = aa - bb if aa>bb else bb - aa
print(cc)

 

# 基本运算符
a = 10
b = 20
c = 30
print(a+b)
print(a*b)
print(a/b)
print(a-b)
print(a%b)
# 幂运算  返回x的y次幂
print(a**b)
# 取整除, 返回商的整数部分
print(a//b)

 

# 比较运算 > < >= <= ==  !=
print(a == b)
print(a != b)
print(a < b)
print(a > b)
print(a <= b)
print(a >= b)

 

# 赋值运算
c = a + b
print(c)
c += a
print(c)
c -= a
print(c)
c *= a
print(c)
c /= a
print(c)
# 取模赋值
c %= a
print(c)
# 幂赋值
c **= a
print(c)
# 取整除赋值
c //= a
print(c)

 

# 逻辑运算符:and or not
# 布尔与 布尔或 布尔非
x = 10
y = 20
z = 5
# and 布尔与,如果两个条件都成立,结果为真,否则为假
if x > z and y < z :
    print(True)
else:
    print(False)
# or 布尔或,如果两个条件有一个成立,结果为真,否则为假
if x > z or y < z :
    print(True)
else:
    print(False)
# not 布尔非,取反 not(a and b)
if not(x > z or y < z):
    print(True)
else:
    print(False)

 

# 三者的优先级:高到低 not or and
print(3 > 4 and  4 > 3 or 1 == 3 and  'x' == 'x' or 3 > 3)
# 用括号
print((3 > 4 and 4 > 3) or (1 == 3 and 'x' == 'x') or 3 > 3)
print(not(3 > 4 and 4 > 3) or (1 == 3 and 'x' == 'x') or 3 > 3)

age_of_girl = 30
if age_of_girl >= 30:
    print('大龄')
else:
    print('年龄')

age_of_girl = 30
height  =   171
weight = 99
is_pretty = True
if age_of_girl >= 18 and age_of_girl < 22 and height >= 170 and weight < 100 and is_pretty == True:
    print('可以成婚')
else:
    print('不可以成婚')

# 身份运算 is ==
# is 比较的是id
# == 比较的是值
x = 10
y = 20
print(x == y)
print(x is y)

 

每日习题加企业面试题

# 题目1
# 题干
# 用户输入年龄,如果年龄超过60岁,输出:可以退休了。
#
# 训练目标
# if语句基础语法的使用;
# 比较运算符的使用。

# 用户输入年龄
age = int(input('请输入您的年龄:'))
# 条件判断
if age > 60:
    print('可以退休了')

# 题目2
# 题干
# 用户输入年龄,如果年龄超过60岁,输出:"可以退休了", 否则,输出:"小伙子,加油干!"
#
# 训练目标
# if…else语法

# 用户输入年龄
age = int(input('请输入您的年龄:'))
# 条件判断
if age > 60:
    print('可以退休了')
else:
    print('小伙子,加油干!')

# 题目3
# 题干
# 用户输入年龄,按照如下标准书写程序,判断用户处于哪个年龄阶段,并提示:您的年龄是xx: 青少年/青年/中年/老年。
#
# 年龄段划分标准:0-17岁为青少年;18-35岁为青年;36-59为中年,60-99岁为老年。
#
# 训练目标
# 1.elif多重判断写法;
# 2.逻辑运算符的使用方法。

# 用户输入年龄
age = int(input('请输入您的年龄:'))
# 条件判断
if age > 0 and age <= 17:
    print(f'您的年龄是{age}:青少年')
elif age > 18 and age <= 35:
    print(f'您的年龄是{age}:青年')
elif age > 35 and age <= 59:
    print(f'您的年龄是{age}:中年')
else:
    print((f'您的年龄是{age}:老年'))


# 题目1
# 题干
# 坐公交:假设坐公交需要买票上车,书写程序要求如下:
#
# 1. 如果有票则可以上车,否则不能上车
# 上车后,如果有座位可以坐下,否则不能坐下。
# 已有程序如下,请补全程序:
#
# # ticket取值为1表示有票,取值为0表示无票
# ticket = 1
#
# # seat取值为1表示有坐,取值为0表示无座
# seat = 1
# 训练目标
# if嵌套书写方法

ticket = 1
seat = 1
# 第一层if判断是否有票
if ticket == 1:
    print('可以上车')
# 第二层if判断是否有座位
    if seat == 1:
        print('可以坐下')
    else:
        print('不可以坐下')
else:
    print('不可上车')


# 题目2
# 题干
# 用户登录输入验证码,已知验证码是axyz, 验证码正确可以登录,否则输出:验证码错误。
#
# 训练目标
# 比较运算符==的使用方法

# 获取用户的验证码
code = input('请输入验证码:')
if code == 'axyz':
    print('验证码正确可以登录')
else:
    print('验证码错误')

    # 题目3
    # 题干
    # 制作用户登录系统:已知A用户注册的用户名为aaa,密码是123456。具体要求如下:
    #
    # 登录时需要验证用户名、密码、验证码(固定验证码为qwer)。
    #
    # 提示:系统先验证验证码是否正确,正确后再验证用户名和密码。
    #
    # 训练目标
    # 1. if…else语句格式
    # 2.
    # 比较运算符 == 和
    # 逻辑运算符
    # 3.
    # if嵌套语句格式

# 获取用户的用户名、密码以及验证码
name = input('请输入用户名:')
password = input('请输入密码:')
code = input('请输入验证码:')
if code == 'qwer':
    if name == 'aaa' and password == '123456':
        print('登录成功')
    else:
        print('用户名或密码错误')
else:
    print('验证码错误')


# 企业面试题
# 1. a=1,b=2,不用中间变量交换a和b的值?
# 2. 简述你对input()函数的理解?
"""
 1. a=1,b=2,不用中间变量交换a和b的值?
 答:a = a+b
    b = a-b
    a = a-b
    或者
    a,b = b,a
2. 简述你对input()函数的理解?
答:input()函数是基本的输入函数,假如在前面什么都不加,那么无论输入的是什么类型数据,input()函数都会转换为字符串,如果需要非字符串类型,那么需要进行数据类型转换

"""

 

  • 15
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值