python十六进制转换成八进制_python(十进制转换成二进制、八进制、十六进制)(正则)...

#coding=utf-8

import re

print("十进制转换成二进制、八进制、十六进制")

num = input("请输入一个十进制的整数:")

pattern = re.compile(r'[^0-9]+')

if(re.search(pattern,num)):

print("输入的格式不正确")

else:

num = int(num)

#十六进制

cc = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']

#a是二进制,b是八进制,c是十六进制

alist = []

blist = []

clist = []

#转成二进制

temp = num

while temp:

residue = str(temp % 2)

temp = temp // 2

alist.append(residue)

alist.reverse()

#转成八进制

temp = num

while temp:

residue = str(temp % 8)

temp = temp // 8

blist.append(residue)

blist.reverse()

#转成十六进制

temp = num

while temp:

residue = cc[temp % 16]

temp = temp // 16

clist.append(residue)

clist.reverse()

#输出结果

print("转换成二进制为")

print(''.join(alist))

print("转换成八进制为")

print(''.join(blist))

print("转换成十六进制为")

print(''.join(clist))

#coding=utf-8

print("十进制转换成二进制、八进制、十六进制")

try:

num = int(input("请输入一个十进制的整数:\n"))

#十六进制

cc = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']

#a是二进制,b是八进制,c是十六进制

alist = []

blist = []

clist = []

#转成二进制

temp = num

while temp:

residue = str(temp % 2)

temp = temp // 2

alist.append(residue)

alist.reverse()

#转成八进制

temp = num

while temp:

residue = str(temp % 8)

temp = temp // 8

blist.append(residue)

blist.reverse()

#转成十六进制

temp = num

while temp:

residue = cc[temp % 16]

temp = temp // 16

clist.append(residue)

clist.reverse()

#输出结果

print("转换成二进制为")

print(''.join(alist))

print("转换成八进制为")

print(''.join(blist))

print("转换成十六进制为")

print(''.join(clist))

except:

print("输入的格式不正确")

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以帮你实现一个多功能计算器。以下是代码实现: ```python import re # 集合运算 def set_operation(): print('请输入要进行集合运算的两个集合,用空格隔开:') set1 = set(input().split()) set2 = set(input().split()) print('请选择要进行的集合运算:') print('1. 求两个集合的交集') print('2. 求两个集合的并集') print('3. 求两个集合的差集') choice = int(input()) if choice == 1: print('两个集合的交集为:', set1 & set2) elif choice == 2: print('两个集合的并集为:', set1 | set2) elif choice == 3: print('两个集合的差集为:', set1 - set2) else: print('输入有误,请重新选择!') # 简单算术表达式求值运算 def calculate_expression(): print('请输入要计算的简单算术表达式:') expression = input().replace(' ', '') # 利用正则表达式将数字和符号分离 pattern = re.compile(r'(\d+|[+\-*/])') exp_list = pattern.findall(expression) # 利用栈计算表达式的值 stack = [] for item in exp_list: if item in ('+', '-', '*', '/'): b = stack.pop() a = stack.pop() if item == '+': stack.append(a + b) elif item == '-': stack.append(a - b) elif item == '*': stack.append(a * b) else: stack.append(a / b) else: stack.append(int(item)) print('计算结果为:', stack.pop()) # 简单进制转换 def convert_base(): print('请输入要换的整数:') num = int(input()) print('请选择要换的进制:') print('1. 进制二进制') print('2. 进制八进制') print('3. 进制十六进制') choice = int(input()) if choice == 1: print('换结果为:', bin(num)[2:]) elif choice == 2: print('换结果为:', oct(num)[2:]) elif choice == 3: print('换结果为:', hex(num)[2:]) else: print('输入有误,请重新选择!') # 主程序 while True: print('请选择要进行的操作:') print('1. 集合运算') print('2. 简单算术表达式求值运算') print('3. 简单进制转换') print('4. 退出程序') choice = int(input()) if choice == 1: set_operation() elif choice == 2: calculate_expression() elif choice == 3: convert_base() elif choice == 4: break else: print('输入有误,请重新选择!') ``` 你可以运行这段代码,按照提示进行操作,实现多种计算功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值