python基础(二) P57-P71

学习视频地址:https://www.bilibili.com/video/BV15J411T7WQ?p=57

p57-58 列表基础

1.列表基本格式
在这里插入图片描述
2.列表中元素替换
在这里插入图片描述
3.列表赋值
在这里插入图片描述
4.列表删除
在这里插入图片描述
例:列表中删除输入的字符串

world = ['hello','good','apple','world','digit','alpha']
a = input('请输入:')
l = len (world)
i = 0
while i < l :
	if a in world[i] :
		del world[i]
		l -= 1
	i += 1
print (world)

p61 列表切片(跟字符串一样)

在这里插入图片描述
P62 列表追加
函数有:append extends insert
append() 末尾追加
在这里插入图片描述
extend() 列表合并在这里插入图片描述
在这里插入图片描述
insert() 指定位置插入
在这里插入图片描述
例:

# 产生10个随机数,将其保存在列表中(会重复)
#步骤:
#1.如何产生随机数
#2.10个数字产生
#3.每产生随机数都放到列表中
#4.打印列表
import random                                    
random_list = []
for i in range(10) :
	ran = random.randint(1,20)
	random_list.append(ran)
print(random_list)
#产生不重复的10个随机数
import random
random_list = []

i = 0 
while i < 10 :
	ran = random.randint(1,20)
	if ran not in random_list :
		random_list.append(ran)
		i += 1
print (random_list)
#找出列表的最大值
max_ value = max (random_list)
print(max_value)
----------------------
a = 0
max_value = random_list[0]]
while a < 9 :
	if random_list[a] > max_value :
		max_value = random_list[a]
	a += 1
print (max_value)

P64 列表的一些运算函数

max() min() sum() sorted()排序
sorted()默认升序

P65 总结补充

1.列表中的元素:整型、字符串类型、浮点型、列表、元组、字典、对象、
2. 类型转换:str() int() list()
例: print(range(1,10,3)) print(list(range(1,10,3)))
3.interable 可迭代的 for … in 里面可以循环就是可迭代的
例:‘abcdef’ for i in range(5):

p66 列表 其他内置函数

1.删除
remove() 删除列表中第一出现的元素e,返回值是None,如果没有找到报错
pop() 弹栈 移除列表的最后一个元素,返回值是删除的那个元素
默认删除最后一个,但也可以指定index(下标)pop(2)
cleear() 清楚列表,里边元素全部清除
2 reverse() 翻转 sort() 降序 次数 count ()
1.sort(reverse = True) #升序

p67 王者荣耀游戏练习

  print('*'*30)
print('\t欢迎来到王者荣耀')
print('*'*30)


import random
summoner = input('请选择英雄:(1后裔,2猪八戒,3马超,4关羽,5鲁班)')
coins = 1000
armory_my = []
print('欢迎{}来到王者峡谷,当前金币是{}'.format(summoner,coins))
while True :
	choice = int (input ('请选择:\n1.购买武器\n2.打仗\n3.删除武器\n4.查看武器\n5.退出游戏\n') )
	if choice == 1 :
		print('欢迎进入武器库')
		armory = [['末世',1000],['辉月',800],['名刀',1200],['冰心',1000],['破晓',500]]
		for arms in armory :
			print (arms[0],arms[1],sep='   ')
		armname = input ('请输入要购买的武器:')
		if armname not in armory_my :
			for arms in armory :
				if armname == arms[0]:
					if coins >= arms[1] :
						armory_my.append(arms[0])
						coins -= arms[1]
						print('购买武器成功')
						break
					else:
						print('金币不足')
						break
			else :
				print('输入武器名称错误')
				break
		else:
			print('你已拥有这个武器,请购买其他武器')

	elif choice == 2 :
		print('欢迎进入战场')
		if len(armory_my) > 0 :
			print('{}的武器库有:'.format(summoner))
			for arms in armory_my :
				print (arms)          #打印自己的武器库
			while True :
				armname = input ('请选择你的武器:')
				if armname in armory_my :
					# 武器选择成功准备开始战斗
					s1 = random.randint(1,20)   #z张飞
					s2 = random.randint(1,20)   #召唤师
					if s1 > s2 :
						print ('张飞胜利,请继续打仗')
					else :
						coins += 200
						print ('斩获张飞掉落金币,当前金币为:',coins)
					break
				else :
					print('选择武器不存在,请重新选择')
		else :
			print ('还没购买武器,请使用金币购买武器')

	elif choice == 3 :
		print('{}的武器库有:'.format(summoner))
		for arms in armory_my :
			print (arms) 

		while True :
			delname = input ('请选择要出售的武器:')
			if delname in armory_my :
				armory_my.remove(delname)
				for arms in armory :
					if delname == arms[0] :
						coins += arms[1]
						break
				break
			else :
				print('请输入正确的名字')
	elif choice == 4 :
		print('{}的武器库有:'.format(summoner))
		for arms in armory_my :
			print (arms) 
		print('当前金币为:',coins)

	elif choice == 5 :
		answer = input ('确定要退出王者荣耀么:(y/n)')
		if answer == 'y' :
			break
	else :
		print ('输入错误请重新输入!')

P71 枚举 和排序

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组成一个索引序列。
选择排序:

# 排序 [9,6,4,5,3]
ls = [9,6,4,5,3]
for i in range(0,len(ls)) :
	for j in range(i+1,len(ls)) :
		if ls[i] > ls[j] :
			ls[i],ls[j] = ls[j],ls[i]
			print(ls)
	print('-------',i)

冒泡排序:

#排序[9,6,4,5,3]
ls = [9,6,4,5,3]
for i in range(len(ls)-1) :
	for j in range(len(ls)-1-i) :
		if ls[j] > ls[j+1]:
			ls[j],ls[j+1] = ls[j+1],ls[j]
			print (ls)
	print('--------',i)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值