print

原本想用print打印出一列列表,输出时遇到

SyntaxError: EOL while scanning string literal

EOL:end of line(行尾误差)

由于前后符号不一致或者不符合结构而造成的错误。

这样的报错,因为输入结构为:

print(‘     ’)

中间为多行数据序列。

后来经过修改发现print()函数输出,引号对应有三种形式:

‘ ’-----单引号,“ ”-----双引号,'''  '''-----三引号

而这三种对应的形式对应不同的内容输出,前两种可以适用于单行情况,而三引号可以跨行输出,因此,适合于列表的输出,后将函数改为如下形式:

print('''
车次    出发站—到达站      出发时间       到达时间        历时
T40     长春—北京         00:12        12:20        12:08
T298    长春—北京         00:06        10:50        10:44
Z158    长春—北京         12:48        21:06        08:18
Z62     长春—北京         21:58        06:08        8:20
''')

遂解决报错。

解法二:元组

#检车是否有该车次的方法
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']
depart_arrive = ['长春-北京','长春-北京','长春-北京','长春-北京']
depart_time = ['00:12','00:06','12:48','21:58']
arrive_time = ['12:20','10:50','21:06','06:08']
duration = ['12:08','10:44','08:18','8:20']

原题目以及答案代码附上:
序列模拟火车订票系统:

print('''
车次    出发站—到达站      出发时间       到达时间        历时
T40     长春—北京         00:12        12:20        12:08
T298    长春—北京         00:06        10:50        10:44
Z158    长春—北京         12:48        21:06        08:18
Z62     长春—北京         21:58        06:08        8:20
''')
key = input("请输入要购买的车次:")
name = input("请输入乘车人(用逗号分隔)")
system = {"T40":"长春—北京 00:12","T298":"长春—北京 00:06","Z158":"长春—北京 12:46",
          "Z62":"长春—北京 21:56"}
print("您已购买 ",key," 次列车  ",system[key],"开,请",name,"尽快换取纸质车票。【铁路客服】")

元组列表组合排序:

name = [('1.4','《Give up,hold on to me》'),
        ('1.343','《The private dishes of the husbands》'),
        ('0.92','《My father-in-law will do martiaiarts》'),
        ('0.862','《North Canton still believe in love》'),
        ('0.553','《Impossible task》'),
        ('0.411','《Sparrow》'),
        ('0.164','《East of dream Avenue》'),
        ('0.259','《The prodigal son of the new frontier town》'),
        ('0.394','《Distant distance》'),
        ('0.562','《Music legend》')]
name.sort(reverse=True)
print("电视剧的收视率排行榜:")
for item in name:
        print(item[1],"收视率:",item[0],"%")

参考网页:

参https://www.cnblogs.com/AZhua/p/16771600.htm

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值