python基础1 day2

一.上节课回顾
1. 编译型:
将源码一次性全部编译成二进制. C
优点:执行效率高.
缺点:开发效率慢,不可跨平台使用.

解释型:
当程序执行时,代码一行一行的去解释成二进制. python
优点:开发效率快,可跨平台使用.
优点:执行效率相对低.
python2 python3 区别:
python2 各种语言的陋习,重复代码.
python3 简单清晰优美.
python的种类:cpython jpython 其他语言的python,pypy.

变量:
1,是由数字字母,下划线任意组合.
2,不能以数字开头.
3,不能是python中的关键字.
4,变量可描述性.
5,不能中文.
6,不能太长.
7,下划线格式.
常量:
理论上不能更改,Python中大写的变量就是常量.
注释:#单行
'''被注释内容''' """被注释内容"""
数据类型:
int
范围,和运算.
str
python中 带引号的都可以视为字符串. '' ""
s1 = '''
内容
'''
str + str 字符串的拼接
str * int
i = int(str) 全部由数字组成的字符串才能转化成数字
bool
True False
用户交互:input 字符串数据类型.
if:
if 条件:
结果
if 条件:
结果
else:
结果
if
elif
elif

if
elif
elif
else:

if
if
if

if

if

while 条件:
结果

while :改变条件
break
break:结束循环.
continue:结束本次循环,继续下一次循环.
二、作业讲解

#1、使用while循环输入 1 2 3 4 5 6 8 9 10

# count = 0

# while count < 10 :

#     count += 1

#     if count == 7 :

#         continue

#     print(count)

#2、求1-100的所有数的和

pass

#3、输出 1-100 内的所有奇数

# a = 0

# i = 0

# while i < 50:

#     a = 2*i+1

#     i += 1

#     print(a)

 

# count = 1

# while count < 100:

#     print(count)

#     count += 2

 

# count = 1

# while count < 100:

#     if count % 2 == 1:

#         print(count)

#     count += 1 

#4、输出 1-100 内的所有偶数

 

 

#5、求1-2+3-4+5 ... 99的所有数的和

# sum  = 0

# count = 1

# while count < 100:

#     if count % 2 == 0:

#         sum = sum - count

#     else:

#         sum = sum + count

#     count += 1

# print(sum)

 

#6、用户登陆(三次机会重试)

i = 1

while i <= 3:

    username = input('请输入你的账户')

    password = input('请输入你的密码')

    if username == 'lol' and password == '戒了':

        print('欢迎登录')

        break

    else:

        print('错误,请重新输入')

        i += 1

        if i == 4:

            answer = input('想不想在试一试?/y')

            if answer == 'y':

                i = 1

else:

    print('要不要脸呀')

 三、今日内容大纲

1,上节内容回顾.

2,作业讲解.3,pycharm使用


4,格式化输出,while else
while else:


5.逻辑运算符


6,编码.
四、while格式化输出

'''

i = 1

while i < 4:

    print(i)

    if i == 2:break

    i += 1

else:

    print('正常循环完毕')

'''

 

#格式化:format  %s  %d

#第一种写法:

# name = input('请输入你的名字:')

# age = int(input('请输入你的年龄:'))

# score = int(input('请输入你的成绩:'))

#

# msg = '我叫%s,今年%d岁,成绩为%d分'%(name,age,score)

# print(msg)

 

#第二种写法:

# name1 = input('请输入你的名字:')

# age1 = input('请输入你的年龄:')

# score1 = input('请输入你的成绩:')

#

# msg = '我叫%(name)s,今年%(age)s岁,成绩为%(score)s分'\

#       %{'age':age1,'name':name1,'score':score1}

# print(msg)

 

 

#

msg = '我叫%s,今年%d岁,学习进度为2%%' %('太白',21)

print(msg)

五、逻辑运算符

#优先级

# print(2 > 1 and 3 > 4)

# print(2 > 1 or 3 > 4)

# print(not 2 > 1)

#() > not > and > or

# a = 2 > 1 and 2 < 3 or 2 > 4 and 1 < 5 or 7 < 4

# print(a)

#1,前后都是比较的条件

# print(3 > 4 or 4 < 3 and 1==1)  # F

# print(1 < 2 and 3 < 4 or 1>2 )  # T

# print(2 > 1 and 3 < 4 or 4 > 5 and 2 < 1)  # T

# print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8)  # F

# print(1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6) # F

# print(not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6) # F

#2,前后都是数字

# print(1 or 2)

# print(2 or 3)

# print(0 or 2)

# print(0 or 3)

 

# print(1 and 2)

# print(0 and 3)

# x or y if x 为 True,则值是x ;else:值是y.

# and 与or相反

'''

ps: str ---> int  int(str) 字符串必须是数字组成

    int----> str  str(int) 

   

    int ---> bool 非0 ----> True  

                   0 -----> False

'''

# print(1 or 3 and 4 or 5)

# print(2 > 1 or 1 and 3 < 2)

六、编码的历史

战争时期:

     发电报,发的是高低电频,实际上是01010101

今    0000 0001

晚    0000 0101

嗨    0000 0111

去呀  0000 1001

00000001 00000101 00000111 00001001

计算机:

    储存文件,或者是传输文件,实际上是010101010

    计算机创建初期,美国,二进制,

    密码本:

    ascii

         00000001

         01000001 01000010 01000011   ABC

     因为全球语言很多,ascii不足以存储这么多对应关系,创建了一个超级密码本:万国码unicode

    8 位 == 1个字节.

    hello h一个字符,e一个字符,he就不是一个字符.

    中国:中是一个字符,国是一个字符.

    unicode :

        创建之初,16位,2个字节,表示一个字符.

            英文:  a b c  六个字节   一个英文2个字节

            中文   中国   四个字节  一个中文用2个字节

        改成 32位,4个字节,表示一个字符.

            a  01000001 01000010 01000011 00000001

            b  01000001 01000010 01100011 00000001

            中 01001001 01000010 01100011 00000001

            浪费资源.

    对Unicode进行升级:  utf-8

    utf-8 用最少用8位数,去表示一个字符.

        英文:           8位,1个字节表示.

        欧洲文字:       16位,两个字节表示一个字符.

        中文,亚洲文字:   24位,三个字节表示.

    utf-16 用最少用16位数.

    gbk:

        国标,只能中国人自己用, 一个中文用16位,两个字节表示.

    单位转化:

    8位bit  8bit == 1bytes

    1024bytes == 1kB

    1024KB == 1MB

    1024MB == 1GB

    1024GB == 1TB

 七、 in not in

#in not in

# s = 'fkdjsaalexgfdjlk'

# print('alex' in s)

# not in

comment = input('请输入你的评论')

s1 = '苍老师'

if s1 in comment:

    print('有非法字符,从新输入')

else:

    print('评论成功')

 

posted @ 2018-01-22 16:10  虫洞小鳗鱼  阅读(292)  评论(0编辑  收藏  举报