zoukankan      html  css  js  c++  java
  • Python作业---内置数据类型

    实验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

  • 相关阅读:
    gpstop error: postmaster.pid file does not exist. is Greenplum instance already stopped
    centos7 安装企业级消息队列 RabbitMQ
    airflow入门demo
    airflow + mysql(CentOS7安装MySQL(完整版))
    Failed building wheel for psycopg2
    centos7 安装 airflow(安装 centos7、python3.6、mysql5.7、airflow)
    linux 和 windows Python pip 安装与使用, 安装包管理器 distribute
    cocos2d学习网址
    CCCallFunc CCCallFuncN CCCallFuncND的区别和使用
    CCAction详解
  • 原文地址:https://www.cnblogs.com/itjiangpo/p/14181364.html
Copyright © 2011-2022 走看看