【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. 从svn下载项目后出现 Error:java: Compilation failed: internaljava compiler error 解决办法

    原因:出现这个问题的话,主要是因为导入的项目JDK版本与自己的不匹配. 解决方法如下: 最后,酱紫

  2. 华为HMS Core携手超图为三维GIS注入新动能

    6月30日,在2022(第五届)GIS软件技术大会GIS基础软件新技术板块论坛上,华为联合超图推出了基于HMS Core 3D Engine开发的高保真三维GIS插件,通过3D渲染技术助力三维GIS实 ...

  3. 『现学现忘』Git后悔药 — 29、版本回退git reset --mixed命令说明

    git reset --mixed commit-id命令:回退到指定版本.(mixed:混合的,即:中等回退.) 该命令不仅修改了分支中HEAD指针的位置,还将暂存区中数据也回退到了指定版本. 但是 ...

  4. 没想到吧,Spring中还有一招集合注入的写法

    原创:微信公众号 码农参上,欢迎分享,转载请保留出处. 哈喽大家好啊,我是Hydra. Spring作为项目中不可缺少的底层框架,提供的最基础的功能就是bean的管理了.bean的注入相信大家都比较熟 ...

  5. 函数式(Functional)接口

    public class LambdaTest2 { @Test public void test1(){ happyTime(500, new Consumer<Double>() { ...

  6. HashSet集合存储数据的结构和HashSet集合存储元素不重复的原理

    HashSet集合存储数据的结构 HashSet集合存储元素不重复的原理 //创建HashSet集合对象 Hashset<String> set = new HashSet<> ...

  7. 数论之欧几里德gcd

    序:这篇博客我最开始学的时候写的,后来又学了一遍,自我感觉这篇好像有问题,扩展欧几里得建议走这边 首先先说,欧几里德一共有俩,欧几里德和扩展欧几里德,前者非常简单,后者直接变态(因为我太菜) gcd ...

  8. 零基础学Java(8)数组

    数组 数组存储相同类型值的序列. 声明数组 数组是一种数据结构,用来存储同一类型值的集合.通过一个整型下标(index,或称索引)可以访问数组中的每一个值.例如,如果a是一个整型数组,a[i]就是数组 ...

  9. [BJDCTF2020]EasySearch-1

    1.打开之后界面如下: 2.在首界面审查源代码.抓包未获取到有效信息,就开始进行目录扫描,获取到index.php.swp文件,结果如下: 3.访问index.php.swp文件获取源代码信息,结果如 ...

  10. 在半小时内从无到有开发并调试一款Chrome扩展(Chrome插件/谷歌浏览器插件)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_120 就在不久之前,我们目前这个毕业班的班长那日同学和我说,他正在公司开发Chrome扩展,看起来很高大上的技术,实际开发却非常简 ...