学习视频地址:https://www.bilibili.com/video/BV15J411T7WQ?p=22
P22 .format使用方法
例:
age=2
s='已经上'
message= '乔治说:我今年{}岁了,{}幼儿园!'.format(age,s)
print(message)
P23 input的使用
input键盘输入的都是字符串类型,即使你输入的是500,它也会把转成‘500’
练习捕鱼达人:
print('''
*********************
捕鱼达人
*********************
''')
username = input('请输入参与者游戏的用户名:')
password = input('输入密码:')
print('{}请充值才能参加游戏'.format(username))
coins = input('请充值:')
coins = int(coins)
print('{}充值成功!当前游戏币是:{}'.format(username,coins))
P25-P33 运算符
1.赋值运算符:=
name = ‘admin’ 将admin赋值给name
+= -= *= /=
num += 5 num = num + 5 (仅应用于数字赋值)
但 a += ‘ff’
等价于a = a + ‘ff’ 此时+作为连接符
2. 算数运算符: + - * /
扩展: ** // % \
a = 8
b = 2
result = a * b
print('乘法运算',result)
result = a / b
print('除法运算',result)
result = a ** b # 8*8 若b=3,则为8*8*8
print(result)
result = a // b # 整除 若a=9 b=2 则为4
print(result)
3.关系运算符
python对于小整数的定义是【-5,256】这些整数对象是提前建立号的,不会被垃圾
回收。大整数每执行都会重新创建。
4.逻辑运算符: and or not
5.位运算:bin()转二进制函数 0b表示二进制 0ob表示8进制 0x表示十六进制
与:& 或:| 非:~ 异或:^ 左移:<< 右移:>>
取反:就是非 例 print(~5) 00000101 取反 11111010 print(~-6) 00000110 变补码
取反+1(取反后11111001 补码 11111010)
左移:左移一位相当×2 右移:右移一位相当于÷2
6.三目运算符:格式:【结果 if 表达式 else 结果】
a = 3
b = 5
c=(a+b) if a>b else (a-b)
print(c)
判断 if 后的表达式 为真结果为if前的 为假结果为else后的
7.运算优先级
排序: **
~
+ - (符号运算符)
* / // %
+ - (加减)
<< >>
&
|
== != >= < <=
is is not == 比较的是内容
not is 比较多是地址
and
or
P34 if语句
【语法格式: if 表达式 :】
python:判断的变量是 ‘’ 0 None 默认是False
如果变量有值’abc’,‘kkkk’ , ‘yueryu’ , 认为是True
username = 'admin'
if username:
print ('登陆成功')
print('*******')
username = ''
if username:
print ('登陆成功')
print('*******')
输出结果为:
C:\Users\Administrator\Desktop\Demo\代码\3day>70401.py
登陆成功
*******
*******
P35 if…else…
if 表达式(条件):
条件成立
else:
条件不成立
练习:消消乐游戏
print('*'*10,'欢迎来到消消乐','*'*10)
level = input('选择你的等级(lv1,lv2):')
if level == 'lv1' :
print('免费玩,随便玩')
else:
print('付费章节,请充值')
money = int(input('请充值钱包(充值金额为100的整数倍):'))
if money%100 == 0 and money > 0 :
print('你的钱包余额为:%d',%(money))
else:
print('请充值整数倍')
p36 if语句猜大小和多层条件
随机数导入: import random ran = random.randint(1,10)
import random
ran = random.randint(1,10)
num = int(input('请输入一个数:'))
print(ran)
if num == ran :
print('猜对了,中大奖')
else:
print('猜错了,拜拜下次再来')
if多层条件 语句格式:
if 条件1:
语句
elif 条件2:
语句
elif 条件3:
语句
.......
else:
语句
例:猜宋姐年龄
age = int(input('请输入宋姐的年龄:'))
if age <= 18 and age > 0 :
print('宋姐太年轻了吧')
elif age > 18 and age <= 30 :
print('宋姐还是个宝宝呢')
elif age >30 and age <=40 :
print('宋姐还是个孩子')
else:
print('你个笨蛋')
P37 for循环
语句格式:
for 变量名 in 集合 :
语句
例:
#使用系统给定的range()完成范围指定
print(range(8)) #range(0,8) 包含0 但不包含8 从0-7
#打印3次
for i in range(3):
print('hello---->',i)
结果为
C:\Users\Administrator\Desktop\Demo\代码\3day>70406.py
range(0, 8)
hello----> 0
hello----> 1
hello----> 2
循环吃馒头案例
print('*'*30)
name = '张无忌'
for i in range(1,6): #range(1,6) i取 1 2 3 4 5
if i ==3 :
print('此馒头有毒扔掉')
else:
print('{}吃了{}个馒头继续练功'.format(name,i))
print('吃饱了练功结束')
for....else... ;
for i in 范围 :
有数据执行的语句
else:
没有数据执行的语句
pass : 空语句,只要有缩进内容也不确定,可以用pass不会报错
break:跳出
p42 while循环
【语句结构:while 表达式 : 】
while 嵌套 :
例:打印直角三角形
ceng = 1
while ceng <= 5 :
count = 1
while count <= ceng :
print('*',end = '')
count += 1
ceng += 1
print ()
C:\Users\Administrator\Desktop\Demo\代码\4day>70501.py
*
**
***
****
*****
例:打印99乘法表
ceng = 1
while ceng <= 9 :
count = 1
while count <= ceng :
print('{}*{}={}'.format(count,ceng,(count*ceng)),end=' ')
count += 1
ceng += 1
print()
C:\Users\Administrator\Desktop\Demo\代码\4day>70501.py
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
澳洲赌场例子:
print('*'*30)
print('欢迎来到澳门赌场')
print('*'*30)
import random
username = input('请输入顾客大名:')
money = 0
answer = input ('确定进入游戏么(y/n)')
if answer == 'y' :
while money < 2 :
n = int(input ('金币余额不足,请充值!(100元30个币,充值必须是100的倍数):'))
if n%100==0 and n>0 :
money = (n // 100)*30
print ('当前你的币为:',money)
while True :
n1 = random.randint(1,6)
n2 = random.randint(1,6)
money -= 2
guess = input('你猜大还是猜小:')
if (n1+n2 >6) and guess== '大' or ((n1+n2)<=6) and guess == '小':
print('恭喜你,你猜对了')
money += 1
else:
print('再接再厉')
answer = input ('是否继续来一次游戏,扣除两枚游戏币(y/n)')
if answer != 'y' or money < 2:
print('退出游戏了!!!')
break
continue: 跳出continue下方的语句不执行,继续执行下次的循环
break: 跳出整个循环
pass : 空语句,只要有缩进内容也不确定,可以用pass不会报错
break:跳出
p47 字符串运算符
== 比较的是内容
is 比较的是地址
运算符:+(拼接) * (倍数) in (在…里面;返回值是布尔类型) not in
% (字符串格式化) r (保留原格式,针对转义字符) [ ] (取第几个字符从0开始)
[ : ] (从第几个到第几个字符;包前不包后)
name = 'nannan'
print (r'%s说:\'哈哈哈\''% name)
结果:nannan说:\'哈哈哈\'
name = 'nannan'
print ('%s说:\'哈哈哈\''% name)
结果:nannan说:'哈哈哈'
name = 'nannan'
print ('%s说:\'哈哈哈\''% name)
print(name[1])
print(name[4:5]) #包前不包后
print(name[4:6])
print(name[2:]) #后边省略
print(name[:5]) #后边省略
结果
C:\Users\Administrator\Desktop\Demo\代码\5day>70601.py
nannan说:'哈哈哈'
a
a
an
nnan
nanna
name = 'picture.png'
print(name[3:-1])
print(name[-5:-1])
print(name[-1:])
print(name[:-3])
结果
C:\Users\Administrator\Desktop\Demo\代码\5day>70601.py
ture.pn
e.pn
g
picture.
[ : : ] 倒叙 str [start : end : 方向和步长 ]
print(name[-1:-5:-1])
P49-P53 字符串 内置函数
1.大小写相关的
capitalize() 将字符串的的一个字符变成大写
title() 将字符串中每个单词的首字母大写 istitle(判断返回布尔类型)
upper() 将字符串全部转成大写 isupper
lower( ) 将大写全部转成小写 islower
2.查找相关的
find()
rfind() 从字符串最右边开始搜索
lfind()
lindex() 跟 find 一样 如果找不到会报错 find找不到是返回-1
rindex()
lindex()
replace()
3.编码:encode 解码: decode
4. startswith () endswith 返回值布尔类型
5.
5.isalpha() 是否字母,isdigit()是否数字
new_str = '-' .join ('abc')
print (new_str)
结果
a-b-c
6.lstrip rstrip strip
练习:输入两个字符串,从第一个字符串中删除第二个字符串中的所有内容。
s1 = input('请输入第一个字符:')
s2 = input('请输入第二个字符:')
for i in s2 :
s1 = s1.replace(i,'')
print (s1)
法二:
s1 = input('请输入第一个字符:')
s2 = input('请输入第二个字符:')
s3 = ''
for i in s2 :
if i not in s3 :
s3 += i #去重复
print(s3)
for i in s3 :
s1 = s1.replace(i,'')
print (s1)
练习:
#小易喜欢的单词是具有以下特征:
#单词每个字母都是大写字母
#单词没有;连续相等的字母
world = input('请输入一串字母')
for i in range(len(world)) :
if world[i] < 'A' or world[i] > 'Z':
print ('不喜欢,不是大写字母')
break
else:
if i< (len(world)-1 ) and world[i] == world[i+1] :
print('不喜欢,是叠词')
break
else:
print('喜欢')