Python基础与运算符

while循环

  • while循环的结构
    如果条件为真,循环体执行;如果条件为假,循环不执行。
while 条件:
    # 循环体

      简单的while循环:

# coding:utf-8
count = 0
while count < 10:
    count += 1
    print(count)
  • while循环练习

1.猜数字,设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测的结果大了;如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果正确,然后退出循环。

# coding:utf-8
while True:
    a = eval(input('请输入一个数字:'))
    if a > 66:
        print('猜测的结果大了!')
    elif a < 66:
        print('猜测的结果小了!')
    elif a == 66:
        print('猜测结果正确')
        break

2.在上一题的基础,设置:给用户三次猜测机会,如果三次之内猜测对了,则显示猜测正确,退出循环,如果三次之内没有猜测正确,则自动退出循环,并显示‘大笨蛋’。

# coding:utf-8
count = 0
while True:
    if count == 3:
        print('大笨蛋!')
        break
    a = eval(input('请输入一个数字:'))
    if a > 66:
        print('猜测的结果大了!')
        count += 1
    elif a < 66:
        print('猜测的结果小了!')
        count += 1
    elif a == 66:
        print('猜测结果正确')
        break

3.使用循环输入 1 2 3 4 5 6 8 9 10 。

# coding:utf-8
i = 0
while i < 10
    i += 1
    if i == 7:
        continue
    print(i)

4.求1-100的所有数的和

# coding:utf-8
i = 0
sum_num = 0
while i < 100:
    i += 1
    sum_num += i
print(sum_num)

5.输出 1-100 内的所有奇数

# coding:utf-8
i = 1
while i < 100:
    print(i)
    i += 2
# coding:utf-8
i = 1
while i <= 100:
    if i % 2 != 0:
        print(i)
    i += 1

6.输出 1-100 内的所有偶数

# coding:utf-8
i = 1
while i <= 100:
    if i % 2 == 0:
        print(i)
    i += 1

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

# coding:utf-8
'''
求1-2+3-4+5 ... 99的所有数的和
'''
sum_positive = 0  # 负数之和
sum_negative = 0  # 证数之和
i = 1
while i <= 99:
    if i % 2 == 0:
        sum_positive += i
    else:
        sum_negative += i
    i += 1
print(sum_negative - sum_positive)
'''
50
'''

breake关键字

break关键字可用来终止当前循环。当程序执行到break的时候就结束当前这个while循环,break以下的代码都不执行。

# coding:utf-8
count = 0
while count < 10:
    count += 1
    if count > 8:
        break
    print(count)  # 当count>8,print函数不会执行

continue关键字

continue关键字用于退出当次循环,继续下一次循环。

# coding:utf-8
count = 0
while count < 10:
    count += 1
    if count == 9:
        continue
    print(count)  #

while else结构

当满足while条件(或者while结构中的条件部分为False)后,执行else中的语句:

# !/usr/bin/env python
# coding:utf-8
count = 0
while count < 5:
    print(count)
    count += 1
else:
    print('stop')

'''
0
1
2
3
4
stop

'''

如果通过其它方式(如:break语句)跳出while循环,则执行else中的语句:

# !/usr/bin/env python
# coding:utf-8
count = 0
while True:
    if count > 10:
        break
    print(count)
    count += 1
else:
    print('stop')
'''
0
1
2
3
4
5
'''

字符串格式化

  • 字符串格式化的意义
# coding:utf-8
'''
字符串格式化的意义:使用比较方便
'''
# 没有使用字符串格式化
name = 'Thanlon'
print(name + ' is play basketball……')  # 写起来比较麻烦
# 使用字符串格式化
name = 'Thanlon'
print('%s is play basketball……' % (name,)) # 写起来计较方便
  • %s与%d
    %s与%d是占位符,s表示字符串,d表示数字
template = '我是%s,年龄%d,职业时%s。' % ('thanlon', 22, '软件开发工程师',)
print(template)
  • %%
# coding:utf-8
name = 'Thanlon'
# 遇到%就认为是占位符
# template = '%s手机点电量是100%' % (name)
'''
ValueError: incomplete format
'''
template = '%s手机电量是100%%' % (name)
print(template)
'''
Thanlon手机电量是100%
'''

运算符

  • 算数运算
运算符描述
+加,两个对象相加
-
*乘,两个数相乘或返回一个被重复若干次的字符串
/
%取模,除法的余数
**
//取整数,商的取整部分
  • 比较运算
运算符描述
==等于,比较对象是否相等
!=不等于,比较对象是否不相等
>大于
<小于
>=大于等于
<=小于等于
  • 赋值运算
运算符描述
=简单的赋值运算符
+=加法赋值运算符
-=减法赋值运算符
*=乘法赋值运算符
/=除法赋值运算符
%=取模赋值运算符
**=mi赋值运算符
//=取整除赋值运算符
  • 逻辑运算
运算符描述
and对于x and y,当x和y均为True时,x and y为True;x或y任何一个为False,x and y为False
or对于x or y,x和y任何一个为True,结果为True;x和y都为False,结果才是False
not取反,对于not x,x为True,not x为False;x为False,not x为True

在没有括号的情况下,not的优先级高于and,and优先级高于or。同一优先级哪个在前先计算哪个。
对于and,第一个值如果转换成布尔值是True,则value = 第二个值;如果第一个值换成布尔值是False,则value = 第一个值。如果有多个and条件,则从左到右依次进行上述流程。
对于or,第一个值如果是转换成布尔值是真,则value=第一个值;第一个值转换成布尔值如果是假,则value=第二个值。如果有多个or条件,则从左到右依次进行上述流程。

  • 成员运算
    使用到的运算符:in和not in,用来判断元素是否在原字符串、字典、列表、集合种
# coding:utf-8
print('t' in 'thanlon')
'''
True
'''
# coding:utf-8
print('t' not in 'thanlon')
'''
False
'''
  • 运算符优先级
运算符描述(表格从上到下优先级依次降低)
**指数
~、+、-按位取反,一元加号和减号
*、/、%、//乘、除、取模和取整除
+、-加法、减法
>>、<<右移、左移
<=、>=、>、<比较运算符
==、!=等于、不等于
=、%=、/=、//=、-=、+=、*=、**=赋值运算符
is、is not身份运算符
in、not in成员运算符
not and or逻辑运算符

编码

  • ASCII
    只表示英文,使用8位表示信息,有2的8次方种表示结果
  • Unicode
    使用32位表示信息,有2的32次方种表示结果。目前只使用了21位,Unicode一般用于计算机内存中做计算。
  • UTF-8
    压缩Unicode,使用8位,用尽量少的位数来表示信息,节省存储空间。UTF-8中一个中文占3个字节,UTF-8一般可用于网络传输和数据存储。
  • UTF-16
    Windows中将文件另存为Unicode,此处Unicode实际上是UTF-16,Unicode不能写在硬盘中。与UTF-8不同的是,UTF-16最多将Unicode压缩到16位。
    ecs2:2个字节
    ecs4:4个字节(现在用的是这种)
  • GBK2312
    亚洲地区使用的编码,一个中文占两个字节
  • GBK
    亚洲地区使用的编码,是GB2312的升级版,一个中文占两个字节

    GBK中一个中文占用2个字节,UTF-8中一个中文占用3个字节,GBK比UTF-8更节省空间,但是为了便于以后的扩展,最好还是使用UTF-8的编码形式。

  • 单位转换
    8bit = 1B
    1024B = 1KB
    1024KB = 1MB
    1024MB = 1GB
    1024GB = 1TB
    1024TB = 1PB
    1024PB = 1EB
    1024EB = 1ZB
    1024ZB = 1YB
    1024YB = 1NB
    1024NB = 1DB

基础与运算符综合题

  • 简述ASCII、Unicode、utf-8编码
    ASCII:只表示英文,使用8位表示信息
    Unicode:使用32位表示信息
    utf-8:压缩Unicode编码,使用8位表示信息。在utf-8编码中一个中文占3个字节,一般可用于网络传输和数据存储。
  • 简述位和字节的关系?
    1字节 = 8位
  • 判断下列逻辑语句的True,False
  1. 1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
    =>False or True or False and True and True or False
    =>False or True or False and True or False
    =>False or True or False or False
    =>True
  2. not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
    =>not True and True or False and True and True or False
    =>False and True or False and True and True or False
    =>False or False and True and True or False
    =>False or False and True or False
    =>False or False or False
    =>False
  • 求出下列逻辑语句的值。
  1. 8 or 3 and 4 or 2 and 0 or 9 and 7
    =>8 or 4 or 0 or 7
    =>8 or 0 or 7
    =>8 oor 7
    =>8
  2. 0 or 2 and 3 and 4 or 6 and 0 or 3
    =>0 or 3 and 4 or 0 or 3
    =>0 or 4 or 0 or 3
    =>4 or 0 or 3
    =>4 or 3
    =>4
  • 下列结果是什么?
    6 or 2 > 1=>6 or True=>6
    3 or 2 > 1=>3 or True=>3
    0 or 5 < 4=>0 or False=>False
    5 < 4 or 3=>False or 3=>3
    2 > 1 or 6=>True or 6=>True
    3 and 2 > 1=>3 and True=>True
    0 and 3 > 1=>0 and True=>0
    2 > 1 and 3=>True and 3=>3
    3 > 1 and 0=>True and 0=>0
    3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2=>True and 2 or True and 4 or True=>2 or 4 or True=>2 or True=>2

转载于:https://www.cnblogs.com/maleleader/p/11143188.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值