python笔记2—day2

python—day2笔记

课堂上老师讲的一些基础知识点

电脑的传输,存储都是01010101

最早的 ascii 涵盖了英文字母大小写,特殊字符,数字。
ascii 只能表示256种可能,太少。
创办了万国码 unicode
16表示一个字符不行,32位表示一个字符。由于32位浪费太多。
Unicode 升级 utf-8 utf-16 utf-32
8位 = 1字节(bytes)
utf-8 一个字符最少用8位去表示,英文用8位 一个字节
欧洲文字用16位去表示两个字节
中文用24 位去表示三个字节
utf-16 一个字符最少用16位去表示

gbk 中国人自己发明的,一个中文用两个字节 16位去表示。

1bit 8bit = 1bytes
1byte 1024byte = 1KB
1KB 1024kb = 1MB
1MB 1024MB = 1GB
1GB 1024GB = 1TB

格式化输出

%:占位符 s:字符串类型 d:数字型

name=input('请输入姓名:')
age=int(input('请输入年龄:'))
hobbie=input('您的爱好:')
msg='我叫%s,年龄是%d,我的爱好是%s' %(name,age,hobbie)#%s表示字符串格式输出,%d表示数字型格式输出,后面%(x,y,z)要按顺序填写
print(msg)
name = input('请输入姓名:')
age = input('请输入年龄:')
job = input('请输入工作:')
hobbie = input('你的爱好:')

msg = '''------------ info of %s -----------
Name  : %s
Age   : %d
job   : %s
Hobbie: %s
------------- end -----------------''' %(name,name,int(age),job,hobbie)
print(msg)

如果要输出%这个符号需要在前面加%

name=input('请输入姓名:')
age=int(input('请输入年龄:'))
hobbie=input('您的爱好:')
msg='我叫%s,年龄是%d,我的爱好是%s,学习进度3%%' %(name,age,hobbie)#想要在转义的语句输出%,需要在加%前面再加个%
print(msg)

while循环补充while...else

  当while循环被break打断,就不会执行else的结果

count = 0
while count <= 5 :
    count += 1
    if count == 3:
        break
    print("Loop",count)
else:
    print("循环正常执行完啦")
print("-----out of while loop ------")

    结果:
count = 0
while count <= 5 :
    count += 1
    if count == 3:
        pass
    print("Loop",count)
else:
    print("循环正常执行完啦")
print("-----out of while loop ------")

    结果:

 逻辑运算

1、and、or、not运算符运算

not:not false==trun
and:一真一假为假,两个真为真;两个假为假
or:一真一假为真;两个真为真;两个假为假

优先级关系:() > not > and > or

print(3>4 or 4<3 and 1==1)  #结果是false
#3>4 or F
print(1<2 and 3<4 or 1>2)  #结果是true
#T or 1>2
print(2>1 and 3<4 or 4>5 and 2>1 or 9<8)  #结果是true
#T or F or 9<8
#T or 9<8
print(1>2 and 3<4 or 4>5 and 2>1 or 9<8)  #结果是false
#F or F or 9<8
#F or 9<8
print(1>1 and 3<4 or 4>5 and 2>1 and 9>8 or 7<6)  #结果是fasle
#F or F and 9>8 or 7<6
#F or F or 7<6
print(not 2>1 and 3<4 or 4>5 and 2>1 and 9>8 or 7<6)  #结果是faslse
#F and 3<4 or F and 9>8 or 7<6
#F or F or 7<6
#F or 7<6
2、x or y 如果x为True,则返回x;否则返回y
print(1 or 2) #结果为1
print(0 or 3) #结果为3
print(0 or 2 or 3) #结果为2
#2 or 3
#2
print(1 or 2 or 1) #结果为1
#1 or 1
#1
3、x and y 如果x为True,则返回y;否则返回x
print(1 and 2) #结果为2
print(0 and 2) #结果为0
print(3 and 2 and 0) #结果为0
#2 and 0
#0
print(3 and 2 and 2) #结果为2
#2 and 2
#2

把2和3的类型混合在一起运算

print(0 or 1 and 3 or 4 and 5) #结果为3
#0 or 3 or 5
#3 or 5

把1、2和3的类型混合在一起运算

print(1>2 and 3 or 4 and 3<2) #结果为False
#F and 3 or 4 and F   (F表示False,T表示True)
#F or F
#F
print(2<3 and 3>4 or 4 and 1<5 or 4) #结果为T
#F or T or 4
#T or 4
#T

int 转换成 bool和bool转换成int

int 转换成 bool:非零数转换成bool值为True;0转换成bool值为False

print(bool(1))
print(bool(-1))
print(bool(0))

结果:

 bool 转换成 int;注意:书写True和False开头要大写

print(int(True))
print(int(False))

结果:

 课后习题

判断下列逻辑语句的Ture,False。
print(1>1 or 3<4 or 4>5 and 2>1 and 9>8 or 7<6)#结果为T
print(not 2>1 and 3<4 or 4>5 and 2>1 and 9>8 or 7<6)#结果为F
print(1>2 and 3<4 or 4>5 and 2>1 or 9<8 and 4>6 or 3<2)#结果为F
求出下列逻辑语句的值。
print(8 or 3 and 4 or 2 and 0 or 9 and 7)#结果为8
print(0 or 2 and 3 or 4 or 6 and 0 or 3)#结果为3
print(5 and 9 or 10 and 2 or 3 and 5 or 4 or 5)#结果为9
下列结果是什么。
print(6 or 2>1)#结果为6
print(3 or 2>1)#结果为3
print(0 or 5<4)#结果为F
print(5<4 or 3)#结果为3
print(2>1 or 6)#结果为T
print(3 and 2>1)#结果为T
print(0 and 3>1)#结果为0
print(2>1 and 3)#结果为3
print(3>1 and 0)#结果为0
print(3>1 and 2 or 2<3 and 3 and 4 or 3>2)#结果为2
计算1-2+3-4+5-...+99中除了88以外的数总和。(这是除去88,即:1-2+3...+87+89-90...)
#方法一
number=1
sum=0
while number<=99:
    if number%2==0:
        if number==88:
            number+=1#这里必须加上‘number+=1’,因为执行continue之后不会执行下面的循环语句
            continue
        else:
            sum-=number
    else:
        sum+=number
    number+=1
print(sum)
#方法二
i=1
sum=0
while i <100:
    if i==88:#这个if必须i等于88才会执行,不等于88直接跳过这个if语句
        i += 1
        continue
    if i%2!=0:#(!=:表示不等于)
        sum=sum+i
    else:
        sum=sum-i
    i += 1
print(sum)

结果:
 计算1-2+3-4+5-...+99中除了88以外的数总和。(这是除去88,即:1-2+3...+87-89+90...;87后面的符号改变的代码)
i=0
j=-1
sum=0
while i<99:
    i=i+1
    if i==88:
        continue
    else:
        j = -j
        sum=sum+i*j
print(sum)

解析:

结果:
 制做趣味模板程序需求:等待用户输入名字,地点,爱好,根据用户所输入的内容,输出:敬爱可亲的xxx,最喜欢在xxx地方干xxx
name=input('请输入名字:')
place=input('请输入地点:')
hobby=input('请输入您的爱好:')
msg='敬爱可亲的%s,最喜欢在%s地方干%s'  %(name,place,hobby)
print(msg)
用户登陆(三次输错机会)且每次输错误时显示剩余错误次数。
i=0
j=3
name='liule'
passwd='123,q'
while i<3:
    username=input('请输入账号:')
    password=input('请输入密码:')
    if username==name:
        if password==passwd:
            if username==name and password==passwd:
                print('登录成功!请稍后')
                break
        else:
            if j == 1:
                i += 1
                continue
            else:
                print('您输入的密码错误,您还有%s次重新登陆的机会!'%(j-1))
                j-=1
    else:
        if j==1:
            i+=1
            continue
        else:
            print('您输入的账号错误,您还有%s次重新登陆的机会!'%(j-1))
            j-=1
    i+=1
while 1:
    if i==3:
        answer=input('您是否想再试试登陆?Y或N:')
        if answer=='Y':
            print('对不起您今天三次输入账号或密码错误,今天之内无法在登陆!')
            break
        else:
            print('感谢您尝试登陆本网站!')
            break

 

转载于:https://www.cnblogs.com/xiao-le/p/11354302.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值