一、实验目的及要求

1. 使用Python语言编写简单程序设计题目;

2. 掌握:Python常用内置对象-常量与变量、数字类型、字符串;

3. 掌握:Python常用内置对象-列表、元组、字典、集合;

4. 掌握:多种算术运算符的使用,包括比较运算符、逻辑运算符、赋值运算符、复合赋值运算符、位运算符、按位取反、异或运算和复合赋值运算符;

5. 掌握:常用Python内置函数的用法;

6. 实验完成后,认真写出实验报告,对出现的问题进行分析、总结;

7. 实验过程中,遵守实验室的各项规章制度,爱护实验设备,保持环境卫生;

8. 实验过程中,不得进行游戏、上网等操作;

二、实验内容及结果

1.编写程序,输入任意大的自然数,输出各位数字之和。(使用map函数)

def sum(x):x_bit = list(x)sum = 0for i in x_bit:sum += eval(i)return str(sum)
data = input("请输入自然数(用空格隔开):")
data_list = data.split(" ")
print(data_list)
result_list = list(map(sum, data_list))
print("自然数对应的各位数字之和为:" + " ".join(result_list))

2.编写程序,通过用户输入三角形三边长度,并计算三角形的面积。

import math
edge = input("请输入三角形的三条边(用空格分分隔):")
[a, b, c] = [eval(i) for i in edge.split(" ")]
while a+b <= c or a+c <= b or b+c <= a:edge = input("三条边无法组成三角形,请重新输入:")[a, b, c] = [eval(i) for i in edge.split(" ")]
cosa = (b**2 + c**2 - a**2) / (2*b*c)
sina = math.sqrt(1 - cosa**2)
area = round(b * c * sina, 2)
print("三角形的面积为:{}".format(area))

3.编写程序,生成一个含有20个随机数的列表,要求所有元素不相同,并且每个元素的值介于1到100之间。

import random
data = []
while len(data) < 20:data.append(random.randint(1, 100))list(set(data))
print("20个不同的1-100的随机数列表:{}".format(data))

4.编写程序,输入两个集合setA和setB,分别输出它们的交集,并集和差集setA - setB(使用eval函数)。

stra = input("请输入集合setA(空格分隔):")
strb = input("请输入集合setB(空格分隔):")
setA = {eval(i) for i in stra.split(" ")}
setB = {eval(i) for i in strb.split(" ")}
print("交集为:{}".format(setA & setB))
print("并集为:{}".format(setA | setB))
print("差集为:{}".format(setA - setB))

5.编写程序,输入一个自然数,输出它们的二进制,八进制,十六进制表示形式。

n = input("请输入一个自然数:")
print("二进制表示:{}".format(bin(int(n, 10))))
print("八进制表示:{}".format(oct(int(n, 10))))
print("十六进制表示:{}".format(hex(int(n, 10))))

6.编写程序,输出1-100之间所有能被7整除但是不能被5整除的数。

print("1-100之间所有能被7整除但是不能被5整除的数:")
for i in range(1, 101):if i % 7 == 0 and i % 5 != 0:print("{:}".format(i), end=" ")

7.编写程序,求解鸡兔同笼问题。假设共有鸡、兔30只,脚90只,求鸡、兔各有多少只。

for x in range(1, 31):if 2*x + 4*(30-x) == 90:print("鸡{}只,兔{}只".format(x, 30-x))

8.编写程序,在屏幕上打印1-30数,每7个数换行。

for i in range(1, 31):if i % 7 == 0:end = "\n"else:end = " "print(i, end=end)

9.编写程序,打印九九乘法口诀表。

print("\n".join([" ".join([str(j)+'*'+str(i)+'='+str(j*i) for j in range(1, i+1)]) for i in range(1, 10)]))

10.编写程序,输入一个包含若干整数的列表,输出列表中所有整数连乘的结果。(使用reduce函数)

data = input("请输入一个整数列表(空格分隔):")
data = [eval(i) for i in data.split(" ")]
mul = 1
for i in range(len(data)):mul *= data[i]
print("该整数列表的乘积为:" + str(mul))

三、实验分析

从以上题目中,我学到了很多关于python语法的知识,同时也了解了自己还是有很多不足之处。题目虽然不难,但是用到的东西却是很多,在解决问题的过程中有助于我们复习以前的所学。

python学习实验报告(第一周)相关推荐

  1. Python学习打卡第一周

    一.跟着视频的代码用python成功制作了第一款小游戏 编写过程中遇到的问题: 1.标点符号总是忘记要为英文 2.if语句忘记加上":" 3.错误缩进导致程序无法运行 但也正是因为 ...

  2. python学习实验报告(第十周)

    一.实验目的 1. 了解常用的HTML标签 2. 了解在网页中使用JavaScript代码的几种方式 3. 掌握Python标准库urllib的用法 4. 掌握Python扩展库scrapy的用法 5 ...

  3. python学习实验报告(第三周)

    一.实验目的 1. 理解条件表达式与True/False的等价关系 2. 熟练运用常见选择结构 3. 熟练运用for循环和while循环 4. 理解带else子句的循环结构执行过程 5. 理解brea ...

  4. python学习实验报告(第九周)

    一.实验目的 1. 理解tkinter标准库的用法. 2. 熟悉创建窗体和组件的方法. 3. 熟悉tkinter组件属性及其作用和设置方法. 4. 了解如何为tkinter组件绑定事件处理方法. 二. ...

  5. 小鱼鱼的 Python 学习笔记(第一周)

    前言:百无聊赖之下,小鱼鱼开始学习Python , 并且尝试做一定的输出,整理和回顾所学知识.学习资源为慕课上北京理工大学嵩天老师极其团队讲授的课程,博文内容基本为上课所学的再现. ~~ 这是一条正经 ...

  6. Python学习(作业第一周)

    日期:2019年2月26日 版本:python 3.7 第一题:Hello World ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬ ...

  7. python学习实验报告(第四周)

    一.实验目的 1. 掌握函数定义和调用的用法. 2. 掌握递归函数的执行过程. 3. 掌握位置参数.关键参数.默认值参数与长度可变参数的用法. 4. 理解函数调用时参数传递的序列解包用法. 5. 理解 ...

  8. 基于python物流管理系统毕业设计-Python程序设计实验报告一 :熟悉IDLE和在线编程平台...

    Python程序设计实验报告 班级 物流192 姓名 张羽 学号 3190505221 成绩 日期 3月5日 指导老师 修宇 实验名称 实验一 熟悉IDLE和在线编程平台 实验目的 1.掌握pytho ...

  9. python的实验报告大一心理_Python程序设计实验报告: 实验六

    安徽工程大学 Python程序设计 实验报告 班级  物流192班   姓名吕晨学号3190505209  成就 日期    2020.5.4     指导先生修宇 [实验名称]实验六 函数 [实验目 ...

最新文章

  1. 需求文档可以不签字吗之三-一个实例
  2. 《 FRIDA系列文章 》
  3. Android布局延伸状态栏,Android沉浸式全屏讲解(状态栏、导航栏处理)
  4. aws ping 不通的解决办法
  5. 使用OpenCV-python提取图片中的硬币
  6. Python调用Tushare抓取上证指数并作初步分析示例
  7. SQL注入学习part06:(结合sqli-libs学习:51-61关)
  8. Jquery插件之ajaxForm ajaxSubmit的理解用法
  9. 使用canvas压缩图片大小
  10. python:实现newton_raphson牛顿拉夫森算法(附完整源码)
  11. 浅谈农批市场的信息化:发展现状、信息化动因和契入方向
  12. ANT无线通信技术(1) 简介
  13. 校园版网络教学平台搭建方案(学生端)
  14. Mac系统如何进入mysql
  15. 从优步僵尸车事件看源码保护的必要性
  16. java bearer token_从Web API在MVC中存储Bearer Token的位置
  17. Cocos2D引擎学习-动作类的学习(一)
  18. 二进制数字频带传输2DPSK系统的设计
  19. 最全BAT大型互联网公司面试题整理,没有之一
  20. paypal ipn java_PayPal IPN验证

热门文章

  1. Word打开文件时,提示文件扩展名和文件格式不匹配,无法打开
  2. vue-currency-input 金额组件的安装及使用
  3. 怎样才能彻底地删除多余输入法软件
  4. 初识JAVA:猜数字小游戏案例---系统产生一个1-100之间的随机数,猜出这个数是多少?
  5. 一个简体/繁体字在线转换工具源码
  6. jq实现checkbox全选中以及获得选中的checkbox的值
  7. 一键解锁iPhone屏幕密码
  8. 迎风面投影指数迎风面密度计算工具及计算实例经验分享
  9. cocos2d-x Touch触屏事件
  10. python正则匹配任意字符_Python 正则表达式 匹配任意字符的写法