猫史档案馆


【Python作品分享】进制转换

用户:盒子的box盒子的box查看:100 回复:3 评论:38 创建时间:2020-02-16T19:45:44


【作品展示】

center_image

 

【作品介绍】

该作品可以转化一个数的进制(几进制都可以),只要不大于十进制就行。

 

【作品源代码】

import math


a = 0
b = 0
值 = input('初始值是多少?')
进制 = input('此值为几进制?')
目标进制 = int(input('转换为几进制?'))
if (进制 == 目标进制):
    print('结果是', 值)
elif (进制 != 10):
    for __count in range(len(值)):
        a += (int(值[b]) * int(进制) ** ((len(值) - b) - 1))
        b += 1
    值 = str((a % 目标进制))
    a = math.floor(a / 目标进制)
    while (a != 0):
        值 = (str((a % 目标进制)) + 值)
        a = math.floor(a / 目标进制)
    print('结果是', 值)
else:
    a = int(值)
    值 = str((a % 目标进制))
    a = math.floor(a / 目标进制)
    while (a != 0):
        值 = (str((a % 目标进制)) + 值)
        a = math.floor(a / 目标进制)
    print('结果是', 值)

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页第 1 页 / 共 1 页下一页
wrmdcxywrmdcxy

要整除直接用//操作符不就行了吗?需要用math.floor吗

点赞0


评论

不行吗?

可以,只不过为了整除使用了一个math库…………

我算平方根都不舍得用math库

咋弄

平方根呀,直接**0.5不就行了吗?

公式:x的y次方根可表示为:x**(1/y)

不行!

你试试?

行的

Python在处理小数时很麻烦,这不怪我,这公式是正确的

喵**1/3显示3.99999999996

我不是说了Python在处理小数时很麻烦吗,Python在计算小数时会有一点点误差

所以1/3可能Python的结果是0.33333333333233332331334

不对,是0.333333333333

你试过了?

我说可能!

再说了,普通的计算机也是这样,循环误差嘛。不信你试试10/3*3,结果应该类似于9.99999999999999这样的东西,而正确的应该是10


wrmdcxywrmdcxy

还用中文作变量名,不怕格式错误吗?emotion_疑问emotion_疑问emotion_疑问

点赞0


评论

不怕

你试过吗?

只要能作为Unicode字符串就行

你用的是Python3吧……

Python3开始允许有中文

或者UTF-8编码格式

Turtle就是Python3 ???

对呀

没让你回答!!! 我知道!!!

你看见3和?中间的空格了吗!!!

我问你知道吗!!!

行了,我知道了,不争这个问题了

有的时候中文变量名会出错

Python3.0中允许中文作为变量名,但一般不提倡


盒子的box盒子的box

center_image

大家看!这是错的!

点赞0


评论

刚刚抱歉不是我回答的是我朋友回答的

错了有你那么激动嘛……

而且你这……算了不跟你闹,忘记说这是基本进制转换器了,但其实代码确实可以减少……

而且用逗号还有个空格不别扭吗

既然一看就是错的,那何必回复呢,最近在研究js,没太多time来想你这样简单的问题了

JAVAScript和Python能一样吗

对呀,所以才会这样。好了,我研究Js去了,不说了