范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

57个挑战(pythonjava)lesson42(2)

  在昨天题目基础上做挑战问题:
  在金额上增加一个$符号 和逗号。- 这个在展示函数上直接增加即可。以金额高低来做排序。重写程序,主要用csv 的解析库来实现解析效果。
  挑战2两个求解思路,
  方法1 : 建设2个字典,以Salary 为 key, 以First 和 Last 为value。 这样做排序的时候,先对Salary list 做排序, 然后基于这两个字典做查询即可。
  方法2: 把Salary 的 list 中的元素index 单独抽出来,在做排序的时候,记录原始index的最后位置,再根据这个位置在list 里寻找数据。--这个之前挑战已经做过了,有demo。
  方法3: 把这些内容存到数据库里,做一条查询即可,再做展示。
  挑战3的代码如下:
  python 版本:import csv class Parsedatafile:     originallist = []     firstcolumn = []     seconcolumn = []     thirdcolumn = []      def readdatafile(this):         # 从指定的文件中读取数据,并读入到一个列表中         filename = input("Please provde the name of the file from which you want open")         with open(filename, "r") as f:             reader = csv.reader(f)             for line in reader:                 this.originallist.append(line)             f.close()         print("this is the list we get from the file {0}".format(this.originallist))      def processlist(this):         # 对列表做格式化,并生成对应的三个队列         for i in this.originallist:             this.firstcolumn.append(i[0])             this.seconcolumn.append(i[1])             this.thirdcolumn.append(i[2])          print("This is the firstcolumn list: {0}".format(this.firstcolumn))         print("This is the secondcolumn list: {0}".format(this.seconcolumn))         print("This is the thirdcolumn list: {0}".format(this.thirdcolumn))      def displaylist(this):         # 对处理后的队列操作,逐行做展示         # 找到每个列表里面最宽的元素         col1length = 0         col2length = 0         col3length = 0         for i in this.firstcolumn:             if len(i) > col1length:                 col1length = len(i)         for i in this.seconcolumn:             if len(i) > col2length:                 col2length = len(i)         for i in this.thirdcolumn:             if len(i) > col3length:                 col3length = len(i)         space = " "         line1 = "Last" + space * (col1length - 4 + 1) + "First" + space * (col2length - 5 + 1) + "Salary" + space * (                     col3length - 6 + 1)         line2 = len(line1) * "-"         print(line1)         print(line2)         for i in range(0, len(this.firstcolumn)):             print(this.firstcolumn[i].ljust(col1length + 1), end="")             print(this.seconcolumn[i].ljust(col2length + 1), end="")             print(this.thirdcolumn[i])   lesson42 = Parsedatafile() lesson42.readdatafile() lesson42.processlist() lesson42.displaylist()
  python csv 函数的详细用法可以参考网文,
  https://blog.csdn.net/xietansheng/article/details/117604917
  这里主要是把每一行的数据解析成了一个队列。
  看到下面运行效果是一样的。
  Java 版本:
  使用csvReader来解析CSV 文件,效果类似,也是解析成了一个队列,从队列里面直接读取元素即可。
  import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.io.InputStreamReader; import java.nio.Buffer; import java.util.ArrayList; import java.util.Scanner; import com.opencsv.CSVReader;  public class ParseFilev2{     private ArrayList  originallist = new ArrayList<>();     private ArrayList  firstcolumn = new ArrayList<>();     private ArrayList  secondcolumn = new ArrayList<>();     private ArrayList  thirdcolumn = new ArrayList<>();     private Scanner sc = new Scanner(System.in);      void readdatafile(){         System.out.println("Please provde the name of the file from which you want open");         String filename = sc.nextLine();         try{             String[] nextLine;             CSVReader csvReader = new CSVReader(new FileReader(filename));             while((nextLine=csvReader.readNext())!= null)             {                 firstcolumn.add(nextLine[0]);                 secondcolumn.add(nextLine[1]);                 thirdcolumn.add(nextLine[2]);                 originallist.add(nextLine[0]+","+nextLine[1]+","+nextLine[2]);             }         }catch(IOException e){          }         System.out.println("This is the original list we get from the file"+ originallist.toString());     }     //从指定的文件中读取数据,并读入到一个列表中        void displaylist(){         //对处理后的队列操作,逐行做展示         //找到每个列表里面最宽的元素         int fcmlength = 0;         int scmlength = 0;         int tcmlength = 0;         for (int i = 0 ; i< firstcolumn.size();i++){             if (fcmlength< firstcolumn.get(i).length())             {fcmlength = firstcolumn.get(i).length();}             if (scmlength< secondcolumn.get(i).length())             {scmlength = secondcolumn.get(i).length();}             if (tcmlength< thirdcolumn.get(i).length())             {tcmlength = thirdcolumn.get(i).length();}         }         fcmlength = fcmlength + 1;         scmlength = scmlength + 1;         tcmlength = tcmlength + 1;         System.out.printf("%-"+fcmlength+"s","Last");         System.out.printf("%-"+scmlength+"s","First");         System.out.printf("%-"+tcmlength+"s ","Salary");         for(int j=0;j< fcmlength+scmlength+tcmlength;j++)         {             System.out.printf("-");         }         System.out.println();          for( int k =0 ;k < firstcolumn.size();k++)         {             System.out.printf("%-"+fcmlength+"s", firstcolumn.get(k));             System.out.printf("%-"+scmlength+"s", secondcolumn.get(k));             System.out.printf("%-"+tcmlength+"s", thirdcolumn.get(k));             System.out.println();         }         }      public static void main(String[] args)     {         ParseFilev2 lesson42 = new ParseFilev2();         lesson42.readdatafile();         lesson42.displaylist();     } }
  效果图:

吉林一名酒再度崛起,曾经一瓶难求,也曾濒临倒闭,如今涅槃重生东北人的酒量在全国都是非常出彩的,但是要单说酒的话,可不像酒量那样出彩了,毕竟现在整个东北三省都没有四川一个省出的好酒多。但是在90年代的时候东北三省却并非如此,就比如吉林的榆树钱玉溪江川肉鲜味浓糊辣鱼冬日里的香辣诱惑来源云南日报玉溪市江川区鱼类资源丰富,这也使得江川人善于烹制鱼,各种鱼的各种做法层出不穷,其中,糊辣鱼糊而不焦辣而不燥汤鲜肉嫩,无论从视觉还是味觉都能让人充满食欲,是冬日里诱人的一注胶虾是什么虾?虾几乎成了人们餐桌上必不可少的一道美味,不过随着需求的增加,一些商贩们也开始动起了歪脑筋。比如大名鼎鼎的注胶虾,曾一度让人们对虾望而生畏。那真的有注胶虾吗?答案是,可能存在。今天就天水浆水系美食,让你恋上一座城在西北,说起浆水,人人都不陌生夏日来一碗浆水酒后来一碗浆水大鱼大肉饱腹后更要来一碗浆水浆水酸奶浆水奶茶浆水啤酒现在浆水的花式搭配也越来越多,一道道浆水系列网红美食,渐渐进入大众视野香港黄金绿叶陈万雷去世!曾出演金城武的父亲,王家卫发文悼念1月12日晚,香港娱乐圈传来一则噩耗,根据香港媒体的报道称,有有黄金绿叶之称的香港老戏骨演员陈万雷去世,享年78岁,这件事情一时间掀起了很大的舆论,也是登上了热搜,引来无数网友的热申领失业保险金有时间次数限制吗?参保缴费1年以上非因本人意愿中断就业的失业人员可向失业保险经办机构申领失业保险金失业保险金可以领多久?用人单位和本人累计缴费满1年不足5年的,领取失业保险金的期限最长为12个月累计一年一味科学解读普洱茶的时间密码究竟要贮存多少年后普洱茶才会变得好喝,或者说品质变得最好?作为一种食品或饮品的普洱茶真的没有一个最佳品饮期?经过岁月洗礼,普洱茶遇水再次被唤醒,是如何悦然出时间的味觉?什么是中期茶行走自贡漫步富顺沱江边的长滩古镇提起长滩古镇,相信许多自贡人第一感觉就是有点远。它位于富顺县东南,濒临沱江西岸,距富顺县城64公里,距自贡市区86公里,距泸州市区20公里,是自泸边界重镇。延沱江而下25公里直入长已灭绝多年的物种,近年来频频死而复生,玛雅预言要成真?地球生命的灭绝无法避免地球已经存在了46亿年,其中生命诞生于这颗星球上的时间,也足足有30多亿年。在这30多亿年里,地球上的生命经历了从无到有从少到多从简单到复杂从低级到高级的演化精确控制分子化学键方向,让化学反应不再抽盲盒北京日报客户端记者刘苏雅精确调控化学反应,是化学科学研究的核心目标之一。围绕在原子分子尺度和量子态等微观水平层面进一步发展精确调控化学反应的原理和方法,中国科学院大连化学物理研究所一套程序员用的HTTP协议模板程序员利器之Markdown格式,以下是具体内容。xxx的HTTP协议说明1。支持的协议,必须是基于RESTFul架构的HTTP协议,数据传输的格式要求为JSON。2。请按文档说明
麦迪现在的nba球员没啥技术,过半场就扔三分,还不如看马拉松麦迪在一档节目中,谈到了现在的篮球风格,他说我感觉如今的篮球风格是导致NBA收视率下降的主要原因,毕竟球迷不会喜欢球员在场上只会跑轰,现在的玩法已经变了,这也造成NBA球员的技术越行李箱很多,为何它能获得红点设计大奖DbRamverkPro出门旅行,对于携带专业器材者,一款模组化的行李箱就很有必要。来自北欧挪威,荣获红点设计大奖的行李箱品牌Db就是一款符合上述要求的产品。RamverkProLuggage系列的行李箱世界最佳旅游乡村如何成就?听听它们的成长秘诀小山村何以惊艳大世界来源光明日报河南安阳市,游客在红旗渠畔的庙荒村中散步。新华社发游客在浙江杭州市临安区太湖源镇指南村观赏晒秋的农作物。新华社发重庆酉阳县板溪镇叠石花谷景区内,游客在粉黛乱子草组成的粉宣布降价后,国内特斯拉Model3Y成为全球最低价IT之家1月13日消息,近日,特斯拉中国在官网上宣布,在售Model3及ModelY全系国产车型将调整售价,Model3起售价直降3。6万元,ModelY起售价直降2。9万元,两款你真的以为做电商很容易?做电商很难吗?不难,一点也不难!会刷销量会刷评论,会售假就可以了,没有什么是靠昧着良心赚不到的,有的话,只能说明你心还不够黑。就假货而言,黑心商家会规避平台的种种风险,像平台自身的面试官Java中Switch支持String字符串?为什么不支持long类型?我们知道JavaSwitch支持byteshortint类型,在JDK1。5时,支持了枚举类型,在JDK1。7时,又支持了String类型。那么它为什么就不能支持long类型呢,明2023年1月13日IOS的AppStore软件限免5个APP推荐1。疯狂单词人工智能助你学英语,背单词信息原价6元,中文软件,有内购无广告。软件描述人工智能助你学英语,背单词,为你量身定制的AI背单词助手,疯狂突破24小时牢记3000个词下载链它被官方点名限制投屏加收费用,不厚道!据不少网友反馈,爱奇艺App开始对投屏功能作出限制,之前黄金VIP会员支持最高4K清晰度投屏,现在只能选最低的480P清晰度,要想进行4K投屏必须购买白金VIP会员。不少网友表示,名爵Cyberster内饰曝光纯电双门软顶!还有Yoke同款方向盘?近日,我们从相关渠道获得一组名爵旗下全新纯电动跑车Cyberster量产版的测试谍照,除了高度伪装的外观造型,最关键的是量产版内饰首度曝光,意味着该车的内外设计基本完成定型,此前消游戏行业大事件谷歌和英伟达向FTC提出对微软收购暴雪娱乐公司大家好,今天我要和你们分享一个火爆的新闻,关于电子游戏行业的炸弹级新闻。根据彭博社最新消息,Alphabet旗下的谷歌和英伟达公司已经向联邦贸易委员会(FTC)表达了对微软收购暴雪折叠屏就算高端了?从系统安全一览FindN2体验,结果没让人失望文数码复读机问大家一个问题,国产折叠屏手机能不能算为高端旗舰,我觉得要解答这个问题,除了看产品自身的硬件实力之外,系统带来的体验同样是一个重点。这里以OPPOFindN2举例,它搭