【1】 (程序设计)编写程序,将二维列表数据写入 CSV文件(命名为“out.csv”),用逗号隔开。二维列表如下:[['Name','Age','Gender'],

['Bob','10','male'],

['Ala','12','female'],

['Cindy','12','female'],

['Dan','13','male']]

注意CSV文件的格式

lst=[['Name','Age','Gender'],['Bob','10','male'],['Ala','12','female'],['Cindy','12','female'],['Dan','13','male']]
fo=open("out.csv","w")
for i in lst:
for j in i:
fo.write(j)
fo.write(',')
fo.write("\n")
fo.close()

【2】 (程序设计)编写程序,按行读取文件中的字符串,输出其中长度最长的那一行字符串。

fo=open('in.txt','r')
str=fo.read()
lst=str.split('\n')
ans=''
for i in lst:
if len(ans)<len(i):
ans=i
print(ans)

【3】 (程序设计)编写程序,读取附件data.CSV文件中的数据,并进行如下格式转换:

(1)按行进行倒序排列;(2)每行数据倒序排列;(3)使用分号(;)代替逗号(,)分割数据,无空格;按照上述要求转换后将数据输出。

例如:data.csv文件内容如下:

1,2,3

4,5,6

7,8,9

程序输出:

9;8;7

6;5;4

3;2;1

  ★【附件下载】★

fo=open('data.csv','r')
str=fo.read()
last_lst=str.split('\n')
last_lst.reverse()
for i in last_lst:
j=i.split(',')
j.reverse()
for k in range(len(j)):
print(j[k],end='')
if k+1!=len(j):
print(';',end='')
else:
print()

【4】 (程序设计)编写程序,计算1到100的阶乘,把阶乘结果保存到文本文件“阶乘.txt”。

fo=open('阶乘.txt','w')
ans=1
for i in range(1,101):
ans=ans*i
fo.write('{}!={}\n'.format(i,ans))
fo.close()

【5】 (程序设计)下载附件,编写程序找出“整数.txt”中素数(质数)的个数,并求出这些素数(质数)的和。数据之间用逗号隔开,但可能有连续的空格,程序中要注意判断。

  ★【附件下载】★

prime=[1]*10002
prime[0]=0
prime[1]=0
for i in range(2,10002):
for j in range(i*2,10002,i):
prime[j]=0 fo=open('整数.txt','r')
str=fo.read()
lst=str.split('\n') prime_sum=0
prime_num=0 for line in lst:
line_lst=line.split(',')
for i in line_lst:
try:
key=int(i)
if prime[key]==1:
prime_num=prime_num+1
prime_sum=prime_sum+key
except:
None print(prime_num,prime_sum)

【6】 (程序设计)下载附件,“整数.txt”文件每行有三个整数,统计该批整数中,有多少行的整数可以组成一个直角三角形(注意有负数)。下图红线标示的两行数可以组成直角三角形:2525=2424+77,55=33+44。要求输出满足条件的所有整数。

fo=open('整数.txt','r')
str=fo.read()
line=str.split('\n')
num=[0]*3
ans=0 for i in line:
try:
num_str=i.split(',')
num[0]=int(num_str[0]);
num[1]=int(num_str[1]);
num[2]=int(num_str[2]);
if(num[0]<=0 or num[1]<=0 or num[2]<=0):
continue
num.sort()
if num[0]**2+num[1]**2==num[2]**2:
print(i)
ans=ans+1
except:
None
print('共有{}组数据可以构成直角三角形'.format(ans))

【7】 (程序设计)下载附件,每行有3个整数(有负数)。编写程序,读入所有数据,如果某行的三个整数能构成三角形则计算其面积,输出所有面积的最大值(保留两位小数)及三个边长的值。若三角形三边长分别为a,b,c,计算p=(a+b+c)/2,则该三角形的面积的平方=p(p-a)(p-b)*(p-c)。

fo=open('整数.txt','r')
str=fo.read()
line=str.split('\n')
num=[0]*3
maxs=0 for i in line:
try:
num_str=i.split(',')
a=int(num_str[0]);
b=int(num_str[1]);
c=int(num_str[2]);
if(a<=0 or b<=0 or c<=0):
continue
p=(a+b+c)/2
S=(p*(p-a)*(p-b)*(p-c))**0.5
if S>maxs:
maxs=S
ans=i
except:
None

print('最大面积为{},边长分别是{}'.format(maxs,ans))

Python 第五次实验的更多相关文章

  1. 20145224&20145238 《信息安全系统设计基础》 第五次实验

    20145224&20145238 <信息安全系统设计基础>第五次实验 课程:信息安全系统设计基础 班级:1452 姓名:陈颢文 荆玉茗 学号:20145224 20145238 ...

  2. 20145330《Java程序设计》第五次实验报告

    20145330<Java程序设计>第五次实验报告 实验五 Java网络编程及安全 实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.设计安全传输系统 4.结队伙伴 ...

  3. 20145320《Java程序设计》第五次实验报告

    20145320<Java程序设计>第五次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.05.06 18: ...

  4. Python第五章__模块介绍,常用内置模块

    Python第五章__模块介绍,常用内置模块 欢迎加入Linux_Python学习群  群号:478616847 目录: 模块与导入介绍 包的介绍 time &datetime模块 rando ...

  5. Python(五)编程小实例

    Python(五)编程小实例 抓取网页信息,并生成txt文件内容! Python抓取网页技能--Python抓取网页就是我们常看见的网络爬虫,我们今天所要用到的就是我们Python中自带的模块,用这些 ...

  6. 初学Python(五)——元组

    初学Python(五)——元组 初学Python,主要整理一些学习到的知识点,这次是元组. #-*- coding:utf-8 -*- #定义元素 t = (1,2,3) #添加元素 #删除元素 #更 ...

  7. Python第五天 文件访问 for循环访问文件 while循环访问文件 字符串的startswith函数和split函数 linecache模块

    Python第五天   文件访问    for循环访问文件    while循环访问文件   字符串的startswith函数和split函数  linecache模块 目录 Pycharm使用技巧( ...

  8. Java第五次实验

    Java第五次实验--网络编程与安全 任务一: 一.实验要求: 两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA 结对实现 ...

  9. Java第五次实验报告

    Java第五次实验报告 实验一 实验内容 两人一组结对编程: 参考 结对实现中缀表达式转后缀表达式的功能 MyBC.java 结对实现从上面功能中获取的表达式中实现后缀表达式求值的功能,调用MyDC. ...

随机推荐

  1. idea显示 RunDashboard ,多个启动项时列表显示

    在.idea(项目所在文件夹中)下的workspace.xml文件中找到 <component name="RunDashboard"> 标签,然后添加如下节点 < ...

  2. map集合中对应key的value为null处理办法

    问题: Map集合中对应key的value为null,但是现在需要将这个value转为Integer类型,这个value如果不是null,那么get到的是long类型或者是Bigdecimal类型 处 ...

  3. 网络通讯之Socket-Tcp(二)

    网络通讯之Socket-Tcp  分成2部分讲解: 网络通讯之Socket-Tcp(一): 1.如何理解Socket 2.Socket通信重要函数 3.Socket Tcp 调用的基本流程图 4.简单 ...

  4. Java学习dayo4

    分支结构和循环语句 1.包的概念 包就是文件夹 包的命名规范:全小写,域名倒置,不能以点开头或结尾,可以包含点,每存在一个点表示一个子目录 举例:com.baidu.demo 定义包后,包中的java ...

  5. pinia 入门及使用

    自上月从上海结束工作回来 在家闲来无事 想写点东西打发时间 也顺便学习学习新的技术.偶然发现了 pinia 据说比vuex好用些 所以便搭了个demo尝试着用了下 感觉确实不错,于是便有了这篇随笔. ...

  6. 表单中设置了 `keyup.enter.native` 的按键事件,但是回车后没有执行查询,反而会刷新页面

    场景 添加属性对话框中,input输入后点击 enter,不会执行绑定的 handleDialogQuery 事件,反而会刷新整个页面: 如果不点击 enter,点击搜索按钮,则是正常的. 又测试:在 ...

  7. Java---注解与反射

    前言 近期在学习SSM框架的过程中发现在SSM框架中大量用到了反射与注解的知识,要想学好SSM框架,必须将注解与反射熟记于心,尤其是对Java反射机制的理解. 对于我这种记性不好的人来说"基 ...

  8. YII学习总结4(cookie操作)

    cookie操作 <?php namespace app\controllers; use yii\web\Controller; use yii\web\Cookie; class Hello ...

  9. SpringBoot定时任务 - 什么是ElasticJob?如何集成ElasticJob实现分布式任务调度?

    前文展示quartz实现基于数据库的分布式任务管理和job生命周期的控制,那在分布式场景下如何解决弹性调度.资源管控.以及作业治理等呢?针对这些功能前当当团队开发了ElasticJob,2020 年 ...

  10. Blazor和Vue对比学习(进阶2.2.4):状态管理之持久化保存(2),Cookie/Session/jwt

    注:本节涉及到前后端,这个系列的对比学习,还是专注在前端Vue和Blazor技术,所以就不撸码了,下面主要学习概念. 我们知道,Http是无状态协议,客户端请求服务端,认证一次后,如果再次请求,又要重 ...