python作业02.

server/2024/10/24 12:03:53/

进制转换

python">#编写代码,实现十进制数据转换二进制、二进制转换十进制、十进制转换十六进制、十六进制转换十进制的代码实现
#十进制转二进制
#定一个转换函数
def decimal_to_binary(decimal):if decimal == 0:return "0"binary = ""while decimal > 0:binary = str(decimal % 2) + binarydecimal //= 2return binary#二进制转换十进制
#定义一个转换函数
def binary_to_decimal(binary):decimal = 0power = 0for digit in reversed(binary):decimal += int(digit) * (2 ** power)power += 1return decimal# 十进制转十六进制
def decimal_to_hexadecimal(decimal):if decimal == 0:return "0"hex_map = {10: 'A', 11: 'B', 12: 'C', 13: 'D', 14: 'E', 15: 'F'}hexadecimal = ""while decimal > 0:remainder = decimal % 16if remainder < 10:hexadecimal = str(remainder) + hexadecimalelse:hexadecimal = hex_map[remainder] + hexadecimaldecimal //= 16return hexadecimal
#十六进制转换十进制
def hexadecimal_to_decimal(hexadecimal):hex_map = {'A': 10, 'B': 11, 'C': 12, 'D': 13, 'E': 14, 'F': 15}decimal = 0power = 0for digit in reversed(hexadecimal):if digit.isdigit():decimal += int(digit) * (16 ** power)else:decimal += hex_map[digit] * (16 ** power)power += 1return decimal#调用函数
decimal_number = int(input("请输入一个十进制数:"))
binary_number = decimal_to_binary(decimal_number)
print(f"十进制 {decimal_number} 转换为二进制为:{binary_number}")binary_number =  str(input("请输入一个二进制数:"))
decimal_result = binary_to_decimal(binary_number)
print(f"二进制 {binary_number} 转换为十进制为:{decimal_result}")decimal_number =  int(input("请输入一个十进制数:"))
hexadecimal_number = decimal_to_hexadecimal(decimal_number)
print(f"十进制 {decimal_number} 转换为十六进制为:{hexadecimal_number}")hexadecimal_number =  (input("请输入一个十六进制数:"))
decimal_result = hexadecimal_to_decimal(hexadecimal_number)
print(f"十六进制 {hexadecimal_number} 转换为十进制为:{decimal_result}")

计算e

python"># 你可以使用下面的数列近似计算e
# $$
# e=1+\frac{1}{1!}+\frac{1}{2!}+\frac{1}{3!}+\frac{1}{4!}+...+\frac{1}{i!}
# $$
# 当i越大时,计算结果越近似于edef fact(n):if n == 0:return 1else:return n * fact(n - 1)def app_e(i):e= 1for j in range(1, i + 1):e += 1 / fact(j)return ei = 10  # 可以调整这里的 i 值以获得不同精度的近似 e
print(app_e(i))

组合

python"># 有1、2、3、4这个四个数字,能组成多少个互不相同且无重复数字的三位数?分别又是多少?
#for三层循环
for i in range(1,5):for j in range(1,5):for n in range(1,5):#判断无重复数字if(i != j and i!=n and j!=n):m = int(i + j * 10 + n * 100)#输出print(m)

水仙花

python"># 水仙花数,是一个三位数,且这个数的个位、十位和百位的立方和等于该数字本身,
# 例如$153=1^3+5^3+3^3$
# 编写程序,输出所有的水仙花数
#循环
for i in range(1,10):for n in range(1,10):for j in range(1,10):#判断if(i+n*10+j*100==i*i*i+n*n*n+j*j*j):print(j,n,i)


http://www.ppmy.cn/server/134441.html

相关文章

10_ Linux软件安装指南:RPM、YUM、源码安装

系列文章导航&#xff1a;01_Linux基础操作CentOS7学习笔记-CSDN博客 文章目录 1. RPM包安装2. YUM包管理器3. 源码安装 在Linux系统中&#xff0c;软件安装是日常管理中的一项基本任务。本文将详细介绍三种常见的软件安装方法&#xff1a;RPM包安装、YUM包管理器安装和源码编…

牛客周赛63

https://ac.nowcoder.com/acm/contest/91592 好数 简单的判断两位数&#xff0c;且十位等于个位 #include <bits/stdc.h> #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define int long long using namespace std; using ll long long; using pii …

SIP 业务举例之 Call Forwarding - No Answer(无应答呼叫转移)

目录 1. Call Forwarding - No Answer 简介 2. RFC5359 的 Call Forwarding - No Answer 信令流程 呼转开始 呼转完成 3. Call Forwording - No Answer 过程总结 博主wx:yuanlai45_csdn 博主qq:2777137742 想要 深入学习 5GC IMS 等通信知识(加入 51学通信),或者想要 …

原型模式和建造模式的区别

原型模式&#xff08;Prototype Pattern&#xff09;和建造者模式&#xff08;Builder Pattern&#xff09;虽然都是创建型设计模式&#xff0c;但它们的应用场景和实现方式有着显著的区别。以下是二者的详细对比&#xff1a; 1. 意图和应用场景 原型模式&#xff1a; 意图&a…

【有啥问啥】智能座舱中的ADDW认证是什么?

智能座舱中的ADDW认证是什么&#xff1f; 随着汽车行业的智能化转型&#xff0c;智能座舱作为现代汽车的核心组成部分&#xff0c;正以前所未有的速度改变着我们的驾驶与乘坐体验。它不仅集成了先进的娱乐、导航和信息交互功能&#xff0c;更重要的是&#xff0c;通过一系列安…

STM32G474之“运放OPAMP和ADC”以及“ADC和DMA”问题

在使用STM32G474之“运放OPAMP和ADC”&#xff0c;或“ADC和DMA”时&#xff0c;要注意一下几个问题。如果有有标准库&#xff0c;就不会用HAL库了。不是没有吗&#xff1f;凑合用吧。 问题1、将“DAC3通道1”通过内部连接到"运放OPAMP1"&#xff0c;运放输出到引脚…

使用pyqt创建一个移动的矩形

使用pyqt创建一个移动的矩形 程序功能概述效果详细代码 程序功能概述 程序的主要功能是在一个窗口内绘制一个矩形框&#xff0c;并使这个矩形框能够以固定的速度向右移动。当矩形框移动出窗口右侧边界时&#xff0c;它会重新出现在窗口的左侧。 效果 详细代码 import sys fr…

docker run 命令解析

docker run 命令解析 docker run 命令用于从给定的镜像启动一个新的容器。这个命令可以包含许多选项&#xff0c;下面是一些常用的选项&#xff1a; -d&#xff1a;后台运行容器&#xff0c;并返回容器ID&#xff1b;-i&#xff1a;以交互模式运行容器&#xff0c;通常与 -t …