Python学习-基础和运算符

接下来是第二天的学习,关于基础和运算符部分,先放思维导图:

while循环

(1)while循环,写完条件判断后加冒号":",再另起一行空4个空格写循环具体逻辑

while True:
    print('人生苦短,我也有python')

执行结果,将循环打印:

此外python中while有pass的写法,直接跳过本次循环,直接java中好像是没有。

# 添加pass的写法,执行到pass,直接过,java中好像没有pass的写法
count = 0
while count < 10:
    count = count + 1
    if count == 7:
        pass
    else:
        print(count)
print('结束')

执行结果,pass关键字:

(2)break关键字

break关键字是结束循环,不再执行后面循环

# break关键字的使用,终止当前循环,外层循环不会终止
# 通过break实现打印1-10
count = 1
while True:
    if count > 10:
        break
    print(count)
    count = count + 1
print('break结束')

执行结果,break关键字:

(3)continue关键字

continue关键字只是结束当前循环,不再执行continue后面的代码,直接跳到下一次循环。

# continue关键字的使用,直接跳到下一个循环,不再执行本次循环continue后面的代码
# 打印1~10,但是不包含7
count = 1
while count <= 10:
    if count == 7:
        count = count + 1
        continue
    print(count)
    count = count + 1
print('continue结束')

测试结果,执行到最后10次循环,只是跳过第7次循环

(4)while else,如果跳出while循环,直接执行else里面的代码块

# while else,很少用,else里面代码块需要while循环条件不满足时才会执行
count = 1
while count <= 10:
    if count == 7:
        count = count + 1
        continue
    print(count)
    count = count + 1
else:
    print('这是else里面的代码块')
print('while else结束')

测试结果:

格式化输出

格式化输出的作用是,当需要输出的内容有一部分需要被替换掉时,就会使用占用符先占着,后面有值就替换掉。

(1)%s:字符串替换

(2)%d:数字替换

(3)%%:当需要输出百分号%时使用

# -*- coding:utf-8 -*-

# 字符串格式化 主要使用三个 %s %d %%,这些都是占位符

# 最常用的是%s
# name = input('请输入姓名')
# do = input("请输入在做什么")
#
# msg = '%s今天在%s' % (name, do,)  # 最后需要以逗号结尾,暂时先全部这么处理
# print(msg)

# 如果有数字,使用%d,当然使用%s也是可以的
# name = input('请输入姓名')
# age_str = input("请输入年龄")
# age = int(age_str)
# do = input("请输入在做什么")
#
# msg = '%s今天%d在%s' % (name, age, do,)  # 最后需要以逗号结尾,暂时先全部这么处理
# print(msg)

# 如果需要打印%,需要使用%%
# name = input('请输入姓名')
#
# msg = '%s手机电量有100%%' % (name,)  # 最后需要以逗号结尾,暂时先全部这么处理
# print(msg)

# 案例
name = input('请输入姓名')
age = input('请输入年龄')
hobby = input('请输入爱好')

msg = '''
name:%s
age:%s
hobby:%s
'''
format_str = msg % (name, age, hobby,)
print(format_str)

测试结果:

运算符

运算符部分,跟Java类似,如下:

(1)算术运算:加减乘除取模取幂,还有取整数商
(2)比较运算:大于小于等于
(3)赋值运算:跟java类似,为简写形式
(4)逻辑运算:与或非,与java一样,写法不一样,写成and or not
(5)成员运算:in,not in
(6)运算符优先级 运算符是有优先级的,一般用的多就是逻辑运算>比较运算>算术运算,参考文末链接。

# -*- coding:utf-8 -*-

# 算术运算符,主要有以下几个暂时学习
'''
+ 加
- 减
* 乘
/ 除
% 取模
** 取幂# -*- coding:utf-8 -*-
// 取整除后的整数商
'''  # -*- coding:utf-8 -*-

number = 2 ** 8  # 256
print(number)

number = 9 // 2  # 4
print(number)

# 计算1-100的和
count = 1
sum = 0
while count <= 100:
    sum = sum + count
    count = count + 1
print('1-100相加的结果为:')
print(sum)

# 计算1-2+3-4+5+...-100
count = 1
sum = 0
while count <= 100:
    if count % 2 == 0:
        sum = sum - count
    else:
        sum = sum + count
    count = count + 1
print('1-2+3-4+5+...-100运算的结果为:')
print(sum)

# 比较运算符 与java类似,跳过
'''
== 
!=
>
<
>=
<=
'''

# 赋值运算 与java类似,其中**和//java中好像没有,待确认
'''
= 简单赋值 c=a+b
+= 加法赋值运算符 c+=a 等效c=c+a
-= 减法赋值运算符 c-=a 等效c=c-a
*= 乘法赋值运算符 c*=a 等效c=c*a
/= 除法赋值运算符 c/=a 等效c=c/a
%= 取模赋值运算符 c%=a 等效c=c%a
**= 幂赋值运算符 c**=a 等效c=c**a
//= 取整除赋值运算符 c//=a 等效c=c//a
'''

# 逻辑运算符
'''
and 与
or 或
not 非
'''

# 入坑面试题
var = 1 or 9
print('运算结果为:', var)  # 1

'''
(1)字符串转数字
count=int('666')
(2)数字转字符串
score=str(666)
(3)数字转布尔
v1=bool(1)
v2=bool(9)
v3=bool(0)
(4)字符串转布尔值
v4=bool('666')
v5=bool('')
v6=bool(' ')
'''
count = int('666')
print(count)

score = str(666)
print(score)

v1 = bool(1)
print(v1)  # true

v2 = bool(9)
print(v2)  # true

v3 = bool(0)
print(v3)  # false

v4 = bool('666')
print(v4)  # true

v5 = bool('')
print(v5)  # false 字符串转布尔,只有空字符串才能为false

v6 = bool(' ')
print(v6)  # true

# 转换
'''
--字符串转数字
--数字转字符串
--字符串和数字都可以转布尔型,只有字符串""和数字0,转换后都是false,其他都是true
'''

'''
官方解释:
(1)x or y 如果x是true,后面就不用看了,直接为x,如果x为false,还要看y的,结果为y 
(2)x and y 如果x为false,后面就不用看了,直接为x,如果x为true,还要看y的,结果为y
(3)not x 如果x为false,结果为True,否则为False
'''

var = 0 or 9
print(var)  # 9

var = 0 or ""
print('--->', var, '<---')  # --->  <---

var = 0 or 9 or 8
print(var)  # 9

print('---下面是and---')

var = 1 and 0
print(var)  # 0

var = 1 and 9
print(var)  # 9

var = 1 and ''
print('--->', var, '<---')  # --->  <---

var = 0 and 9
print(var)  # 0

var = 0 and ''
print('--->', var, '<---')  # ---> 0 <---

var = 1 and 0 and 9
print(var)  # 0

print('---下面是and和or的混合,先看and再看or---')

var = 1 and 9 or 0 and 6
print(var)  # 9

var = 5 < 4 or 3
print(var)

print('---下面练习---')
# 运算符优先级 not and or 大于 比较运算符
var = 6 or 2 > 1
print(var)  # 6

var = 3 or 2 > 1
print(var)  # 3

var = 0 or 5 < 4
print(var)  # False

var = 5 < 4 or 3
print(var)  # 3

var = 2 > 1 or 6
print(var)  # True

var = 3 and 2 > 1
print(var)  # True

var = 0 and 3 > 1
print(var)  # 0

var = 2 > 1 and 3
print(var)  # 3

var = 3 > 1 and 0
print(var)  # 0

'''
下面的运算结果是2
'''
var = 3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2
print(var)  # 2

var = 3 > 1 and 2 or 2 < 3 and 3
print(var)
View Code

编码

编码第一课已经说明了,这里再记录下,主要有如下几种:

(1)ASCII :1个字节
(2)Unicode:4个字节,万国码
(3)UTF-8:变长字节1~4个字节,中文使用3个字节
(4)GBK:2个字节,中文使用节省空间
(5)gb2312:2个字节,中文使用节省空间

 

参考链接:

(1)https://pythonav.com/wiki/detail/1/3/#4.2%20GBK

(2)https://blog.csdn.net/ZYY88886666/article/details/75285780

(3)https://www.cnblogs.com/youngchaolin/p/10927325.html

posted @ 2019-06-02 17:00  斐波那切  阅读(325)  评论(0编辑  收藏  举报