Day02

回顾:

-解释型语言:
类似于同声传译,一边编译一遍解释。
解释指的是把人类看得懂字符转为机器所能看懂的

解释器:
例如:python3.6.4
用于给机器翻译人类的语言。

-执行py文件四会发生的事情:(*****)
1.执行解释器,把解释器加载到内存中
2.会把py文件加载到内存中
3.执行python代码。

-变量 (******)
可变化的量。
定义:
变量名 = 变量值

变量名:相当于变量值的门牌号,用于查找变量的。
= :用于绑定变量名与变量值的关系。
变量值:存放在内存中的数据。

注意:
变量在程序运行时产生在内存中,程序结束时变量会销毁。

数据类型:
-整型: int
表示身份ID,年龄...

-浮点型: float
表示身高、薪资...

-布尔类型: bool
True or False
判断真假
-字典: dict
以{}定义,括号内以逗号隔开可存放多个值,
每个值都是以 key: value的形式存储的。

-用来记录唯一的数据
key是唯一的
dict1 ={'names':['ABC'、'ABB'、'18岁的tank']}

-集合: set
以{}定义,括号内以逗号隔开可存放多个值。
特点:可以自动去重。
set1 = {1,1,1,1,2} # {1,2}

-列表: list
以[]定义,括号内以逗号隔开可存放多个值
list1 = [1,2,3,'tank']

-元组: tuple
以()定义,括号内以逗号隔开可存放多个值
tuple1 = (1,2,3,4)
注意:
列表内部的数据是不可以修改的,称之为可变类型。
元组内部的数据是不可修改的,称之为不可变类型。


今日内容:
-变量的三大特征
       type:
          查看数据的类型
       id:
          表示变量在内存中的地址,是一串数字
       value:
          变量的值

    -注释
       说明代码是干嘛用的。
       单行注释:
           # 注释内容

       多行注释:
           '''
           多行注释内容
           '''
   -用户与程序交互
       input
       print

   -格式化输出
      %s:占位符 ,用来替换字符串中的文字

   -基本运算符
     -算数运算符
     -比较运算符
     -逻辑运算符
     -赋值运算符
     -链式运算符
         x = y = 10
     -交叉赋值
      x, y = y, x
     -解压缩赋值
        x = (1, 2, 3)
        x, y, z = ()
        x, y, z = [1, 2, 3]

     -流程控制
        对流程的控制,控制某些事件的发生。

        - if分支判断
            语法:
                 if 判断条件:
                     # 条件若成立执行
                     print('条件成立!')

                 # 若if条件不成立,则执行此处
                 elif 判断条件:
                     print('另一个条件成立')

                 #若if条件不成立,则执行此处
                 elif 判断条件:
                     print('另一个条件成立')

# 若if与elif条件不成立,则执行此处
                 else:
                     # 若条件不成立则执行
                     print('条件不成立!')
import time

list1 = ['tank','jason']

# print('18岁的tank,是真的。')
# type
print (type(list1))

# id
print(id(list1))
#2409606924936
#2290125097608

time.sleep(5)
print('程序结束,list1被销毁')

#可变与不可变
#当数据修改时,id不变称之为可变类型,否则称之为不可变类型。(默写)
#可变
list1 = ['tank','jason']
print('list1修改前ID:',id(list1))
list1.append('徐峰') #['tank','jason'].append
print(list1)
print('list1修改后ID:',id(list1))

#不可变:元组
tuple1= (1,2,3)
print(id(tuple1))
print(type(tuple1))
tuple1 = (2,3,4)
print(id(tuple1))

'''
用户与程序交互:
    input()  输入
    print()  输出
username = input('输入提示信息')
'''
username = input('请输入用户名:')
print(username)
password = input('请输入密码:')
print(password)

# 如果
# username == 'tank' True
# and: 左右两边的条件都为True才为True,否则为False
# password == '123'  True
# if 条件判断: 如果条件判断 == True, 执行if下的代码
if username == 'tank' and password == '123':   # False and True  --->  False
    print('登录成功')
else:
    print('登陆失败')




# 占位符: %s
str1 = '很帅'
print('tank%s' % (str1, ))  # tank很帅

str2 = '信念与我同在,我将无坚不摧!'
print('自信养成记1: %s' % (str2, ))


price1 = input('请输入该用户当月扣费月租:')
all = input('请输入该用户当前余额:')

print('亲爱的移动用户,您当月月租为[%s]元,账户余额为[%s]元!' % (price1,all))




# 猜字符游戏: 猜测用户输入的字符是否是9527.

number = 9527

guess = input('请输入猜测数字:')

print(guess)
print(type(guess))  # str

# 把字符串类型转为整型
guess = int(guess)
print(type(guess))  # int

if guess == number:
    print('猜对了!')

elif guess < number:
    print('猜小了')

else:
    print('猜大了!')




# 猜字符游戏: 猜测用户输入的字符是否是9527,限制只能猜3次。
number = 9527
init = 1  # 1 2 3 4
while True:# 若init大于3结束循环
    if init > 3:
        print('猜错3次了,没有机会了哦。')
        break

    guess = input('请输入猜测数字:')
    guess = int(guess)

    if guess == number:
        print('猜对了!')
        break

    elif guess < number:
        print('猜小了')

    else:
         print('猜大了!')

    #若没有退出循环证明猜错了, int +1
    init += 1



# - 算术运算符
print(1 + 1)  # 2
n1 = 1
# n1 = n1 + 1  # n1 += 1
# print(n1)  # 2
n1 += 1

# 赋值运算符: -=
print(10 - 1)  # 9

# *=
print(12 * 12)  # 144
print(11 / 3)  #3.666...
print(11 // 3)  # 3
print(11 % 3)  # 2

# 比较运算符
print(1 == 2)  # False
print(1 > 2)  # False
print(1 < 2)  # True
print(1 >= 2)  # False
print(1 <= 2)  # True

# is: 比较两个变量的id是否相等
x = 10
print(id(x) == id(x))  # True
print(x is x)  # True

#逻辑运算符
# and: 左右两边的条件都为True才为True,否则为False
print(x == 1 and x == 10)  #False
print(x == 10 and x == 10)  # True

# or: 判断两边的条件是否成立,其1成立则为True
print(x == 10 or x == 1)  # True

# not: 取反
print(x == 10)  # True
print(not x == 10)  # False

# not-->and-->or
#          True  or  False
print(not x == 1 or x == 10 and x == 20)  # True

# 链式赋值
n = 10
y = n
z = y
print(n, y, z)

n = y = z = 10
print(n, y, z)

# 交叉赋值
x = 10
y = 20
# x与y的值互换
# x = 20    y = 10
z = x   # 10
x = y   # 20
y = z   # 10

x = 10
y =20
# 10, 20 = y=10, x=20
x, y = y, x
print(x, y)   # 20 10

# 解压缩赋值
#        0  1  2
list1 = [1, 2, 3]
x = list1[0]
y = list1[1]
z = list1[2]
print(x, y, z)   # 1 2 3
x, y, z = list1
print(x, y, z)   # 1 2 3

list1 = [1, 2, 3, 4, 5]
# list1_len = len(list1)   #5
#
# while list1_len > 0:
#     list1_len -= 1
#     # print(list1_len)   # 4 3 2 1 0
#
#     print(list1[list1_len])

# 依次循环取出list中的每一个值
for x in list1:
    print(x)

 


上一篇:day02


下一篇:Python实现猜数字小游戏