实验2 内置数据类型
实验性质:验证性

一、实验目的
1.掌握内置函数、列表、切片、元组的基本操作;
2.掌握字典、集合和列表表达式的基本操作。
二、实验预备知识
1.掌握Python内置函数的基/本操作。
2.阅读并掌握python中列表、元组、字典和集合的基本操作。
三、实验内容
1.编写程序,输入任意大的自然数,输出各位数字之和。

def get_sum(n):
n=abs(n) # 对于负数取一下绝对值成为正数
sum = 0
while n > 0:
sum = sum + int(n % 10)
n = int(n / 10)
return sum

测试

if __name__ == '__main__':
print(get_sum(367))


2.编写程序,输入两个集合 setA 和 setB,分别输出它们的交集、并集和差集 setA-setB。

def oper_set(setA, setB):
union = setA | setB # 并集
inter = setA & setB # 交集
# 差集
diff = setA - setB return union, inter, diff

测试

运行结果:

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

def format_num(num):
print('二进制:{}'.format(bin(num)))
print('八进制:{}'.format(oct(num)))
print('十六进制:{}'.format(hex(num)))
if __name__ == '__main__':
format_num(18)


4.编写程序,用户输入一个三位以上的整数,输出其百位以上的数字。例如用户输入1234,则程序输出12。(提示:使用整除运算。)

def get_hundreds(num):
return int(num/100)

测试:

if __name__ == '__main__':
print(get_hundreds(34567)) # 345

5.编写程序,输入一个大于 2 的自然数,然后输出小于该数字的所有素数组成的集合。

def func_get_prime(n):
num = [] # 用来存储结果的集合
for i in range(2, n):
for j in range(2, i):
if (i % j == 0): # 如果不是素数就跳过,接着判断下一个数
break
else:
num.append(i);
return num

运行结果:

6.首先生成包含1000个随机字符的字符串,然后统计每个字符的出现次数。(使用字典)

import string
import random
def random_str():
# 先取出大小写字母
strs = string.ascii_letters
# 随机生成1000个字符
ch = [random.choice(strs) for i in range(1000)]
# 先创建一个列表保存不重复的字符,用来当作字典的key
new_list = []
for i in ch:
if i not in new_list:
new_list.append(i)
res = {} for i in new_list:
res[i] = ch.count(i)
print(res)

运行结果:

{‘C’: 21, ‘o’: 26, ‘T’: 23, ‘u’: 20, ‘W’: 22, ‘y’: 27, ‘p’: 18, ‘F’: 12, ‘s’: 16, ‘n’: 18, ‘f’: 17, ‘M’: 19, ‘H’: 21, ‘N’: 22, ‘l’: 32, ‘L’: 20, ‘B’: 23, ‘O’: 13, ‘h’: 16, ‘K’: 18, ‘k’: 22, ‘Z’: 20, ‘V’: 20, ‘X’: 20, ‘z’: 17, ‘E’: 23, ‘D’: 14, ‘j’: 21, ‘i’: 19, ‘g’: 17, ‘e’: 18, ‘a’: 24, ‘b’: 19, ‘c’: 17, ‘R’: 21, ‘x’: 26, ‘P’: 17, ‘Q’: 18, ‘J’: 17, ‘A’: 14, ‘Y’: 17, ‘G’: 19, ‘I’: 12, ‘U’: 19, ‘m’: 16, ‘t’: 16, ‘S’: 22, ‘r’: 25, ‘d’: 18, ‘q’: 22, ‘w’: 13, ‘v’: 13}

7.阿凡提与国王比赛下棋,国王说要是自己输了的话阿凡提想要什么他都可以拿得出来。阿凡提说那就要点米吧,棋盘一共64个小格子,在第一个格子里放1粒米,第二个格子里放2粒米,第三个格子里放4粒米,第四个格子里放8粒米,以此类推,后面每个格子里的米都是前一个格子里的2倍,一直把64个格子都放满。需要多少粒米呢?

def archimedes(n):
sum = 0
for i in range(1, n + 1):
sum += 2 ** i
return sum

输出结果: 36893488147419103230

Python作业---内置数据类型的更多相关文章

  1. Python中内置数据类型list,tuple,dict,set的区别和用法

    Python中内置数据类型list,tuple,dict,set的区别和用法 Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, ...

  2. 【Python】内置数据类型

    参考资料: http://sebug.net/paper/books/dive-into-python3/native-datatypes.html http://blog.csdn.net/hazi ...

  3. python计算非内置数据类型占用内存

    getsizeof的局限 python非内置数据类型的对象无法用sys.getsizeof()获得真实的大小,例: import networkx as nx import sys G = nx.Gr ...

  4. Python内置数据类型总结

    python的核心数据类型:(很多语言之提供了数字,字符串,文件数据类型,其他形式的数据类型都以标准库的形式表示 也就是用之前需要import ) ,但是python有很多都是内置的,不需要impor ...

  5. Python内置数据类型之Dictionary篇

    1.查看函数XXX的doc string. Python的函数是有属性的,doc string便是函数的属性.所以查看函数XXX的属性的方法是模块名.XXX.__doc__ 2.模块的属性 每个模块都 ...

  6. Python的四个内置数据类型list, tuple, dict, set

    Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set.这里对他们进行一个简明的总结. List ...

  7. Python笔记004-Python最基本内置数据类型和运算符

    第二章(1)Python编程基础概念 1. 最基本内置数据类型和运算符 每个对象都有类型,Python 中最基本的内置数据类型: 1. 整数 整数,2345 ,10 ,50 2. 浮点型 小数,3.1 ...

  8. 笔记-pyton内置数据类型

    笔记-pyton内置数据类型 1.      简介 The principal built-in types are numerics, sequences, mappings, classes, i ...

  9. Hive内置数据类型

    Hive的内置数据类型可以分为两大类:(1).基础数据类型:(2).复杂数据类型.其中,基础数据类型包括:TINYINT,SMALLINT,INT,BIGINT,BOOLEAN,FLOAT,DOUBL ...

随机推荐

  1. Codeforces Edu Round 59 A-D

    A. Digits Sequence Dividing 注意特殊情况,在\(n = 2\)时除非\(str[1] >= str[2]\),否则可以把第一个数划分下来,剩下的数直接当成一组,一定满 ...

  2. airtest数据线连接手机

    1.用USB数据将手机和电脑进行连接,手机打开开发者模式,并且开启USB调试   2.下载adb调试:只是用户检查有没有设备连接,不下载也行,但是最好下载 使用方法:解压 方法一:使用cmd命令进入解 ...

  3. C++ 消失的析构函数 —— virtual 实现的动态析构

    在C++类的结构中可以使用类方法创建内存,使用类的析构函数去施放内存,但有这么一种情况会导致:即使在析构函数中释放了内存,但由于析构函数没有被调用而导致内存泄漏,如下代码. 1 #include &l ...

  4. python程序的三种控制结构

    程序的三种控制结构 什么是控制结构? """ 程序有三种基本结构组成:顺序结构.分支结构.循环结构.任何程序都是由这三种基本结构组成. 顺序结构是程序按照线性顺序依次执行 ...

  5. linux下/etc/profile /etc/bashrc /root/.bashrc /root/.bash_profile这四个配置文件的加载顺序

    目录 一.关于linux配置文件 二.验证四个配置文件的加载顺序 三.结论 一.关于linux配置文件 1.linux下主要有四个配置文件:/etc/profile ./etc/bashrc ./ro ...

  6. Shell变量、函数

    上篇文章初步认识了一下shell脚本及其简单的案例,下面我们再来讲一下shell的进击部分. 一.变量 1.常用系统变量:($HOME.$SHELL.$PWD.$USER) 2.自定义变量: 2.1. ...

  7. synchronized实现原理及ReentrantLock源码

    synchronized synchronized的作用范围 public class SynchronizedTest { // 实例方法,方法访问标志ACC_SYNCHRONIZED,锁对象是对象 ...

  8. js下 Day05、DOM案例

    一.简易购物车 效果图: 功能思路分析: 功能一:数量加减 \1. 找到所有的加号按钮,循环绑定点击事件.点击加号时让对应的数量+1 (找清楚加号和数量的关系,让数量标签的内容++) \2. 找到所有 ...

  9. [日常摸鱼]bzoj2875[NOI2012]随机数生成器-矩阵快速幂

    好裸的矩阵快速幂-然而我一开始居然构造不出矩阵- 平常两个的情况都是拿相邻两项放在矩阵里拿去递推的-然后我就一直构造不出来-其实把矩阵下面弄成1就好了啊orz #include<cstdio&g ...

  10. 仵航说 前后端分离,文件上传下载(springBoot+vue+elementUI)仵老大

    1.介绍 ​ 本文主要是介绍前后端分离的上传下载,后端使用的是SpringBoot,持久层用的是mybatis-plus,前端用的Vue,UI用的elementUI,测试了一下,文本,图片,excel ...