python第三次作业

1、求一个十进制的数值的二进制的0、1的个数

def count_0_1_in_binary(decimal_num):binary_str = bin(decimal_num)[2:]count_0 = binary_str.count('0')count_1 = binary_str.count('1')return count_0, count_1decimal_number = int(input("十进制数:"))
zero_count, one_count = count_0_1_in_binary(decimal_number)
print(f"十进制数 {decimal_number} 的二进制表示中有 {zero_count} 个0 和 {one_count} 个1。")

2、实现一个用户管理系统(要求使用容器保存数据) [{name: xxx, pass: xxx, ……},{},{}]

def menu():#创建菜单print("*" * 50)print(" " * 20 + "欢迎使用用户管理系统!")print(" " * 22 + "1:添加用户信息")print(" " * 22 + "2:删除用户信息")print(" " * 22 + "3:修改用户信息")print(" " * 22 + "4:查询用户信息")print(" " * 22 + "5:退出系统")print("*" * 50)def user_find(name):# 创建user_find函数用于查询用户信息for i in user_list:nick_name = i.get("姓名")if nick_name == name:return ireturn -1def user_input():# 创建user_input函数用于添加用户信息# 创建一个字典存放信息user_dict = {}# 接收输入的信息name = input("请输入你要添加的用户姓名:")age = input("请输入你要添加的用户年龄:")sex = input("请输入你要添加的用户性别:")address = input("请输入你要添加的用户住址:")# 将接收到的信息传入字典user_dict["姓名"] = nameuser_dict["年龄"] = ageuser_dict["性别"] = sexuser_dict["住址"] = address# 将字典中的用户信息传入列表user_list.append(user_dict)print("添加成功")# 输出列表print(user_list)def user_delete():# 创建user_delete函数用于删除用户信息# 输入你要删除的用户姓名name = input("请输入你要删除的用户姓名:")# 调用查询函数i = user_find(name)if i != -1:# 在列表中删除该信息user_list.remove(i)print("当前用户列表为", user_list)else:print("用户未找到!")def user_change():# 创建user_change函数用户修改用户信息# 输入你要删除的用户姓名name = input("请输入你要删除的用户姓名:")# 调用查询函数i = user_find(name)if i != -1:user_list_key = input("请输入你要修改的属性:")if user_list_key in ["姓名", "年龄", "性别", "住址"]:new_change = input("请输入新的值:")i[user_list_key] = new_changeprint("当前用户列表为", user_list)else:print("请输入正确的属性!")else:print("用户未找到!")def user_print(i):# 创建user_print函数用户打印用户信息# 调用查询函数i = user_find(user_name)if i != -1:print("用户查询成功!")print("姓名:".format(i.get("姓名")))print("年龄:".format(i.get("年龄")))print("性别:".format(i.get("性别")))print("住址:".format(i.get("住址")))else:print("用户未找到!")user_list = []
while True:menu()num = int(input("请输入你所需要做的操作:(1.增加信息  2.删除信息  3.修改信息  4.查询信息  5.退出系统)"))if num == 1:user_input()elif num == 2:user_delete()elif num == 3:user_change()elif num == 4:user_name = input("请输入你要查找的用户姓名:")user_print(user_name)else:print("感谢使用!祝你生活愉快!")break
else:print("请输入正确的序号:")

3、求1~100之间不能被3整除的数之和

n = 0
for i in range(1, 101):if i % 3 != 0:  n += i   print("1到100之间不能被3整除的数之和为:", n)

4、给定一个正整数N,找出1到N(含)之间所有质数的总和

import math
def is_prime(n):if n <= 1:return Falsefor i in range(2, int(math.sqrt(n)) + 1):if n % i == 0:return Falsereturn Truedef sum_of_primes_up_to_N(N):return sum(num for num in range(1, N + 1) if is_prime(num))N = int(input("请输入一个正整数 N:"))
sum_of_primes = sum_of_primes_up_to_N(N)
print("1到", N, "之间所有质数的总和为:", sum_of_primes)

5、计算PI(公式如下:PI=4(1-1/3+1/5-1/7+1/9-1.......)

def sums():x=0y=0for i in range(1,99999999,4):x+=4*(1/i)for i in range (3,99999999,4):y-=4*(1/i)print(x+y)
sums()

6、给定一个10个元素的列表,请完成排序(注意,不要使用系统api)

def bubble_sort(arr):n = len(arr)for i in range(n - 1):for j in range(0, n - i - 1):if arr[j] > arr[j + 1]:arr[j], arr[j + 1] = arr[j + 1], arr[j]my_list = [10, 45, 2, 96, 36, 7, 100, 25, 54, 1 ]
print("排序前的列表:", my_list)
bubble_sort(my_list)
print("排序后的列表:", my_list)

7、求 a+aa+aaa+.......+aaaaaaaaa=?其中a为1至9之中的一个数,项数也要可以指定。

def sums():a=int(input("请输入数字:"))b=int(input("请输入项数:"))c=0for i in range(1,b+1):sums=a**ic+=sumsprint("您输入的项为%s"%(b)+",数字为:%s"%(a)+",和为:%s"%(c))
sums()

8、合并两个有序数组,合并后还是有序列表

def merge_sorted_arrays(arr1, arr2):merged_arr = []i = 0j = 0while i < len(arr1) and j < len(arr2):if arr1[i] < arr2[j]:merged_arr.append(arr1[i])i += 1else:merged_arr.append(arr2[j])j += 1merged_arr.extend(arr1[i:])merged_arr.extend(arr2[j:])return merged_arrarr1 = list(map(int , input("请依次输入有序列表1(使用空格隔开):").split(" ")))
arr2 = list(map(int , input("请依次输入有序列表2(使用空格隔开):").split(" ")))print(f"未合并的列表:{arr1},{arr2}")
merged = merge_sorted_arrays(arr1, arr2)
print(f"合并后的列表{merged}")

9、给定一个非负整数数组A,将该数组中的所有偶数都放在奇数元素之前

def ls():lsA=[1, 22, 45, 84, 78, 21]lsB=[]lsC=[]for i in lsA:if i%2==0:lsB.append(i)else:lsC.append(i)lsB.extend(lsC)print("该数组中的所有偶数都放在奇数元素之前的元素为:%s"%(lsB))
ls()

10、给定一个包含n+1个整数的数组nums,其数字在1到n之间(包含1和n), 可知至少存在一个重复的整数,假设只有一个重复的整数,请找出这个重复的数

11、找出10000以内能被5或6整除,但不能被两者同时整除的数(函数)

def func():for i in range(10001):if (i % 5 == 0 or i % 6 == 0) and i % 30 != 0:print(i,end = " ")func()    

12、写一个方法,计算列表所有偶数下标元素的和(注意返回值)

13、【选做】某个人进入如下一个棋盘中,要求从左上角开始走, 最后从右下角出来(要求只能前进,不能后退), 问题:共有多少种走法?

14、【选做】汉诺塔:

def hanoi(n, a, b, c):if n > 0:hanoi(n-1, a, c, b)  # 将n-1个盘子从a移动到bprint(f"把盘子从 {a} 移动 {c}")  # 移动第n个盘子从a到c#print(f"Move disk from {a} to {c}")hanoi(n-1, b, a, c)  # 再将n-1个盘子从b移动到cn = int(input("盘子的数量: "))
#n = int(input("Enter the number of disks: "))
hanoi(n, 'A', 'B', 'C')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/571842.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DVB-S系统仿真学习

DVB-S系统用于卫星电视信号传输&#xff0c;发送端框图如下所示 扰码 实际数字通信中&#xff0c;载荷数据的码元会出现长连0或长连1的情况&#xff0c;不利于接收端提取时钟信号&#xff0c;同时会使得数据流中含有大量的低频分量&#xff0c;使得QPSK调制器的相位长时间不变…

VGG16神经网络搭建

一、定义提取特征网络结构 将要实现的神经网络参数存放在列表中&#xff0c;方便使用。 数字代表卷积核的个数&#xff0c;字符代表池化层的结构 cfgs {"vgg11": [64, M, 128, M, 256, 256, M, 512, 512, M, 512, 512, M],VGG13: [64, 64, M, 128, 128, M, 256, …

LIS、LCS算法模型

文章目录 1.LCS算法模型2.LIS算法模型 1.LCS算法模型 LCS问题就是给定两个序列A和B&#xff0c;求他们最长的公共子序列。 在求解时&#xff0c;我们会设dp[i][j]表示为A[1 ~ i]序列和B[1 ~ j]序列中&#xff08;不规定结尾&#xff09;的最长子序列的长度。 if(a[i]b[i]) dp…

MFC标签设计工具 图片控件上,移动鼠标显示图片控件内的鼠标xy的水平和垂直辅助线要在标签模板上加上文字、条型码、二维码 找准坐标和字体大小 源码

需求&#xff1a;要在标签模板上加上文字、条型码、二维码 找准坐标和字体大小 我生成标签时&#xff0c;需要对齐和 调文字字体大小。这工具微调 能快速知道位置 和字体大小。 标签设计(点击图片&#xff0c;上下左右箭头移动 或-调字体) 已经够用了&#xff0c;滚动条还没完…

静态代理,jdk动态代理,cglib动态代理

文章目录 静态代理动态代理jdk动态代理JDK生成的动态代理类大概源码cglib动态代理 代理模式就是用代理对象代替真实对象去完成相应的操作&#xff0c;并且能够在操作执行的前后对操作进行增强处理。 静态代理 mybatis使用的就是静态代理&#xff0c;相比动态代理&#xff0c;…

Mamba: Linear-Time Sequence Modeling with Selective State Spaces(论文笔记)

What can I say? 2024年我还能说什么&#xff1f; Mamba out! 曼巴出来了&#xff01; 原文链接&#xff1a; [2312.00752] Mamba: Linear-Time Sequence Modeling with Selective State Spaces (arxiv.org) 原文笔记&#xff1a; What&#xff1a; Mamba: Linear-Time …

STL的基本概念

一、STL的诞生 长久以来&#xff0c;软件界一直希望建立一种可重复利用的东西 C的面向对象和泛型编程思想&#xff0c;目的就是复用性的提升 面向对象的三大特性(简单理解) 封装&#xff1a;把属性和行为抽象出来作为一个整体来实现事和物 继承&#xff1a;子类继承父类&a…

Gui guider使用自定义字体总结

在实际开发中&#xff0c;我们通常是使用自定义字体。 在 LVGL 中&#xff0c;用户需要使用自定义的字库&#xff0c;其实现方法可分为两类&#xff1a; ① 通过 C 语言数组&#xff08;内部读取&#xff09;&#xff1b; ② 通过文件系统读取字库&#xff08;外部读取&#…

【CAD建模号小技巧】边缘尖角光滑处理方法

教大家一个处理模型边缘的方法&#xff0c;处理后模型更美观&#xff0c;更不易坏&#xff0c;而且有些零件还必须经过这样的处理。 咱们看一个未经过边缘处理的模型&#xff0c;边缘是尖的&#xff0c;摸到会刺伤&#xff0c;一些接近刀口形状。 更危险了&#xff0c;所以要进…

javascript基础代码练习

一、输入新增病例数&#xff0c;累计确诊病例数&#xff0c;14天内聚集性疫情发生天数。新增或者累计确诊病例为0则该地区为低风险地区。新增大于0且累计确诊&#xff1c;50或者累计大于50且14天内聚集性疫情发生天数为0的地区为中风险地区。其他情况为高风险地区。 <!DOCT…

大数据开发(离线实时音乐数仓)

大数据开发&#xff08;离线实时音乐数仓&#xff09; 一、数据库与ER建模1、数据库三范式2、ER实体关系模型 二、数据仓库与维度建模1、数据仓库&#xff08;Data Warehouse、DW、DWH&#xff09;1、关系型数据库很难将这些数据转换成企业真正需要的决策信息&#xff0c;原因如…

C语言程序练习——汉诺塔递归

1. 题目 在终端输入汉诺塔层数n&#xff0c;实现将n层汉诺塔通过三座塔座A、B、C进行排列 2. 代码 #include <stdio.h>int hannuota(int len, int str, int tmp, int dst) {if (1 len){printf("%c -> %c\n", str, dst);}else{hannuota(len-1, str, dst, …