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

  • 相关阅读:
    MS CRM 2011的自定义和开发(10)——CRM web服务介绍(第一部分)——IDiscoveryService
    MS CRM 2011的自定义和开发(7)——视图编辑器(第二部分)
    MS CRM 2011 SDK 5.06版本已经发布
    MS CRM 2011的自定义和开发(11)——插件(plugin)开发(一)
    近来遇到的MS CRM 2011方面的几个问题
    MS CRM 2011的自定义与开发(6)——表单编辑器(第二部分)
    Microsoft Dynamics CRM 2011中,Lookup字段的赋值
    MS CRM 2011的自定义和开发(6)——表单编辑器(第三部分)
    Visual Studio 目标框架造成 命名空间“Microsoft”中不存在类型或命名空间名称“Crm”。是否缺少程序集引用中错误的处理
    一步步学习Reporting Services(二) 在报表中使用简单的参数作为查询条件
  • 原文地址:https://www.cnblogs.com/itjiangpo/p/14181364.html
Copyright © 2011-2022 走看看