一、实验目的和要求

  理解序列的应用

二、实验过程

   通过pycharm进行代码编辑

三、实验过程

  敲代码

四、代码及其结果

###实战1
#坦克 英雄列表
Tanks =['苏烈','刘邦','钟馗','张飞','牛魔','程咬金','白起','刘禅','庄周','项羽','廉颇','巨灵神','安禄山','猪八戒']
#战士 英雄列表
warriors=['狂铁','裴擒虎','铠','孙悟空','哪吒','杨戬','橘右京','亚瑟','雅典娜','夏侯惇','关羽','吕布','韩信','老夫子','达摩','典韦','曹操','钟无艳','墨子','赵云','刑天','龙且']
#刺客 英雄列表
Assassins=['百里玄策','庞统','花木兰','阿轲(荆轲)','不知火舞','李白','娜可露露','兰陵王','露娜','韩信','宫本武藏','盖聂','红拂']
#法师 英雄列表
Masters =['杨玉环','弈星','女娲','周瑜','鬼谷子','芈月','干将莫邪','东皇太一','大乔','诸葛亮','貂蝉','张良','安琪拉','不知火舞','姜子牙','武则天','王昭君','甄姬','扁鹊','高渐离','嬴政','妲己','小乔']
#射手 英雄列表
Shooters=['公孙离','百里守约','后羿','刘备','黄忠','马可波罗','成吉思汗','虞姬','李元芳','艾琳','狄仁杰','鲁班七号','孙尚香']
#辅助 英雄列表
auxiliarys=['明世隐','梦奇','孙膑','太乙真人','蔡文姬']
#输出提示文字
print('“王者荣耀”游戏角色:')
print('====坦克:====')
#循环坦克 英雄列表
for Tank in Tanks:
#输出列表内容 每次输出后以空格分割开
    print(Tank, end=' ')
#换行输出内容
print('\n====战士:====')
for warrior in warriors:
    print(warrior, end=' ')
print('\n====刺客:====')
for Assassin in Assassins:
    print(Assassin, end=' ')
print('\n====法师:====')
for Master in Masters:
    print(Master, end=' ')
print('\n====射手:====')
for Shooter in Shooters:
    print(Shooter, end=' ')
print('\n====辅助:====')
for auxiliary in auxiliarys:
    print(auxiliary, end=' ')
print("\n\n")
###实战2
#检查是否有该车次方法
def check_train_number(string):
#检查某个元素是否是列表的成员 这里检查输入的车次是否是包含在车次系列中
    if string in train_numbers:
#包含在车次系列中退出方法
        return string
    else:
#输出不包含在车次系列中,提示用户再次输入
        y = input("没有该车次,请重新输入要购买的车次:")
#检查输入的车次是否存在在车次系列中
        return check_train_number(y)
type=['车次','出发站-到达站','出发时间','到达时间','历时']
#车次列表
train_numbers=['T40','T298','Z158','Z62']
#出发站-到达站列表
DepartureStation_ArrivalStation=['长春-北京','长春-北京','长春-北京','长春-北京']
#出发时间列表
Departure_time=['00:12','00:06','12:48','21:58']
#到达时间列表
Arrival_time=['12:20','10:50','21:06','06:08']
#用时列表
Duration=['12:08','10:44','08:18','8:20']
#输出火车票信息
print('{}      {}    {}    {}     {}'.format(type[0],type[1],type[2],type[3],type[4]))
print('{}       {}        {}       {}       {}'.format(train_numbers[0],DepartureStation_ArrivalStation[0],Departure_time[0],Arrival_time[0],Duration[0]))
print('{}      {}        {}       {}       {}'.format(train_numbers[1],DepartureStation_ArrivalStation[1],Departure_time[1],Arrival_time[1],Duration[1]))
print('{}      {}        {}       {}       {}'.format(train_numbers[2],DepartureStation_ArrivalStation[2],Departure_time[2],Arrival_time[2],Duration[2]))
print('{}       {}        {}       {}       {}'.format(train_numbers[3],DepartureStation_ArrivalStation[3],Departure_time[3],Arrival_time[3],Duration[3]))
#提示用户虚入车次
train_number=input("请输入要购买的车次:")
#检查输入的车次是否包含在列表中,接收正确的车次
train_number=check_train_number(train_number)
#提示用户输入乘车人信息
user_rider = input("请输入乘车人(用逗号分隔):")
#断购买的是哪个车次,根据选购的车次判断出发时间
if train_number==train_numbers[0]:
    time=Departure_time[0]
if train_number==train_numbers[1]:
    time=Departure_time[1]
if train_number==train_numbers[2]:
    time=Departure_time[2]
if train_number == train_numbers[3]:
    time = Departure_time[3]
print('你已购'+train_number+'次列车 长春-北京 '+time+"开,请"+user_rider+'尽快换取纸质车票。【铁路客服】')
print("\n\n")

###实战3
#电视剧信息列表 每条信息包含收视率信息
TV_plays=[('《Give up,hold on to me》',1.4),
          ('《The private dishes of the husbands》',1.343),
          ('《My father-in-law will do martiaiarts》',0.92),
          ('《North Canton still believe in love》',0.862),
          ('《Impossible task》',0.553),
          ('《Sparrow》',0.411),
          ('《East of dream Avenue》',0.164),
          ('《Theprodigal son of the new frontier town》',0.259),
          ('《Distant distance》',0.394),
          ('《Music legend》',0.562),
          ]
#使用内置srted方法进行降序排序
TV_plays=sorted(TV_plays, key=lambda s: s[1], reverse=True)
print('电视剧的收视率排行榜:')
#循环输出电视剧信息
for TV_play in TV_plays:
  print(TV_play[0]+' 收视率:'+str(TV_play[1])+'%')
print("\n\n")

###实战4
#自定义判断选项方法 x 和 y分别代表 输入的内容 和 总字数
def check(x,y):
#捕捉转换类型错误异常
    try:
#转换输入内容类型
        x =int(x)
#错误执行的方法
    except:
#输入错误重新提示用户输入
        x = input("您输入的套餐不存在请从新输入:")
#重新启动检测错误方法
        return check(x, y)
#检测输入的是在范围内
    if x>0 and x<=y:
#在范围内返回
       return x
    else:
#不在范围内提示用户重新输入
        x = input("您输入的套餐不存在请从新输入:")
#重新启动检测方法
        return check(x,y)

#可设置话费列表
Bill_sets=['0分钟','50分钟','100分钟','300分钟','不限量']
#可设置流量列表
flow_sets=['0M','500M','1G','5G','不限量']
#可设置短信列表
sms_sets=['0条','50条','100条 ']
#控制台输出提示
print('定制自己的手机套餐:')
#通话设置
print('{}\n{}\n{}\n{}\n{}\n{}'.format('A.请设置通话时长:',"1."+Bill_sets[0],"2."+Bill_sets[1],"3."+Bill_sets[2],"4."+Bill_sets[3],"5."+Bill_sets[4]))
#提示用户输入选择通话时间
Aset=input("输入选择的通话时间编号:")
#检测输入内容的合法性 并返回正确内容
Aset =check(Aset,5)
#提示用户设置流量
print('\n{}\n{}\n{}\n{}\n{}\n{}'.format('B.请设置流量:',"1."+flow_sets[0],"2."+flow_sets[1],"3."+flow_sets[2],"4."+flow_sets[3],"5."+flow_sets[4]))
#提示用户输入选择流量
Bset=input("输入选择的通话时间编号:")
#检测输入内容的合法性 并返回正确内容
Bset =check(Bset,5)
#提示用户设置短信条数
print('\n{}\n{}\n{}\n{}'.format('C.请设置短信条数:',"1."+sms_sets[0],"2."+sms_sets[1],"3."+sms_sets[2]))
#提示用户输入选择短信条数
Cset=input("输入选择的通话时间编号:")
#检测输入内容的合法性 并返回正确内容
Cset =check(Cset,3)
print('\n您的手机套餐定制成功:免费通话时长为'+Bill_sets[Aset-1]+'/月 ,流量为'+flow_sets[Bset-1]+'/月,短信条数'+sms_sets[Cset-1]+'/月')

韩信点兵 python 代码 韩信点兵用python_重新启动