查询字符串
first = 'JoneHaha'
print(first.find('ne'))
>2 # 返回索引
print('ne' in first)
>True # 返回布尔值
字符格式化
# 前面添加个f,直接在大括号内写入变量名称
msg = f'{first}[{last}]是个医生'
引入文件
import story
# 如果觉得import story每次引入都太长了,可以用下方的写法
import story as s
# 同时引入多个文件
import a,b,c
# 从模块中导入一个指定的部分到当前模块
from … import …
from (模块名) import (指定的变量、函数、类)
中间用?连接合并
a=['c','a','t']
b=''
print(b.join(a))
>cat
c='-'
print(c.join(a))
>c-a-t
合并同类项
list1 = ['【精灵弩手】', '【暗影刺客】', '【精灵弩手】']
print(set(list1))
>{'【暗影刺客】', '【精灵弩手】'}
list1 = ['【精灵弩手】', '【精灵弩手】', '【精灵弩手】']
print(set(list1))
>{'【精灵弩手】'}
报错内置程序
try:
age = int(input('请输入一个整数:'))
except ValueError:
print('要输入整数噢')
字典
zidian1 = {'【狂血战士】':'德鲁克','【森林箭手】':'亚瑟'}
print(zidian1['【狂血战士】'])
# 引用的时候直接使用每个小组前面的那个名字,就能调取相应后面的数据
>> 德鲁克
# 字典
自定义函数传参
# 固定传参
def menu(appetizer,course,dessert='绿豆沙'):
# dessert设定默认值,注意:默认参数必须放在位置参数之后。
print('一份开胃菜:'+appetizer)
print('一份主食:'+course+'\n')
print('一份甜品:'+dessert)
#还记得转义字符\n吧,表示换行
menu('牛肉拉面','话梅花生')
menu('话梅花生','牛肉拉面')
#如果采用下面这种形式传递,就不需要理会参数位置
menu(course='牛肉拉面',appetizer='话梅花生')
# 默认参数是可以改变的,直接赋值就可以了
menu('话梅花生','牛肉拉面','银耳羹')
# 不固定传参,*加上参数名,引用函数的时候每个值都会传递给barbeque
def menu(*barbeque):
print(barbeque)
menu('烤鸡翅','烤茄子','烤玉米') # 这几个值都会分别传递给参数barbeque
>> ('烤鸡翅', '烤茄子', '烤玉米')
order=('烤鸡翅','烤茄子','烤玉米')
# 元组的写法是把数据放在小括号()中,它的用法和列表用法类似,主要区别在于列表中的元素可以随时修改,但元组中的元素不可更改。
# 元组的长度没有限制
def menu(*barbeque):
print(barbeque)
menu(*order)
>> ('烤鸡翅', '烤茄子', '烤玉米')
列表合并并且排序
import numpy as np
list1=[91, 95, 97, 99]
list2=[92, 93, 96, 98]
list3 = list1+list2 # 直接将讲个列表组合
list3.sort() # 对列表进行排序
print(list3)
#均值
print(np.mean(list3))
#中位数
print(np.median(list3))
format()函数的用法
#for循环中可以直接引用i
print('----------现在是第{}局----------'.format(i))
# 可以直接应用代码中的多个变量,并且不用表明格式
print('【玩家】\n生命:{}\n攻击力:{}'.format(player_life,enemy_life))
随机数,随机取值
import random #调用random模块
# 随机提取一个整数
a = random.randint(1,100)
# 随机生成1-100范围内(含1和100)的一个整数,并赋值给变量a
print(a)
# 在下列名字中随机提取一个名字
player_list = ['【狂血战士】','【森林箭手】','【光明骑士】']
enemy_list = ['【暗黑战士】','【黑暗弩手】','【骷髅骑士】']
player_name = random.choice(player_list)
enemy_name = random.choice(enemy_list)
#随机提取多个元素
import random
num = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
choice = random.sample(num, 5)
print(choice)
sleep函数的应用
import time # 引入time模块
print('【玩家】\n血量:100\n攻击:50')
print('------------------------')
time.sleep(3)
列表中删除del和添加append的用法
students = ['小明','小红','小刚']
num = 0
while num < 3:
students.append(students[0])
del students[0]
print(students)
num = num +1
pop的用法
students = ['小明','小红','小刚']
for i in range(3):
student1 = students.pop(0) # 用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
students.append(student1) # 将移除的student1安排到最后一个座位。
print(students)
while和if的区别和共同点
如果直接使用true和false,首字母必须大写
while True:
print('while True') # 无限循环
if True:
print('if True') # 只执行一次
# 不论while还是if都不会执行
while False: # 也可以是不成立的条件,比如说3>5
print('while False')
bool判断
# 以下均为判断为false的情况
print(bool(False))
print(bool(0))
print(bool(''))
print(bool([]))
print(bool({}))
print(bool(None))
# 以下均判断为true的情况
print('以下数据判断结果都是【真】:')
print(bool(True))
print(bool(1))
print(bool('abc'))
if…break的意思是如果满足了某一个条件,就提前结束循环。
记住,这个只能在循环内部使用
while...(条件):
...
if ...:
break
break必须和If语句配合使用
while和for的区别在于,while不知道要循环多少次,for知道次数(以下两个代码效果完全相同)
i = 0
while i<5:
a = int(input('请输入0结束循环,你有5次机会:'))
i = i+1
if a == 0:
print('你触发了break语句,导致else语句不会生效。')
break
else:
print('5次循环你都错过了,else语句生效了。')
for i in range(5):
a = int(input('请输入0结束循环,你有5次机会:'))
if a == 0:
print('你触发了break语句,导致else语句不会生效。')
break
else:
print('5次循环你都错过了,else语句生效了。')
安装额外的python库
pip install XXX