最近資訊課上有出進製轉換的題目,上課就開始比心算
後來我就想能不能直接寫乙個程式來解決這個問題(雖然計算器上有這樣的功能)
自己寫的好處就是可以轉換一些奇奇怪怪的進製而不侷限於二進位制八進位制十六進製制等
話不多說直接上**
dict01 =
dict02 =
# digi = int(input("輸入n進製 例如:2 暫時只支援2到16進製制\n"))
# innum = input("輸入數字 例如:1101 或者1eft(10對a,11對b以此類推 暫時只支援到16進製制\n")
# digo =int(input("輸入輸出進製(支援2-16) 例如:8 \n"))
def turnto10(dig,num):
numout = 0
if dig!=10:
for i in range(len(num)):
if num[-1-i] in dict01:
numout += int(dict01[num[-1-i]])*(dig**(i))
else:
numout+=int(num[-1-i])*(dig**(i))
elif dig ==10:
numout=int(num)
return numout
def turnfrom10(num,dig):
numout =
numstr = str(num)
if dig>10:
while num != 0:
if num % dig>9:
else:
num//=dig
elif dig==10:
for i in range(len(numstr)):
else:
while num != 0:
num//=dig
return numout
res = 'y'
while res=='y':
digi = int(input("輸入n進製 例如:2 暫時只支援2到16進製制\n你的輸入進製:"))
innum = input("輸入數字 例如:1101 或者12eff(10對a,11對b以此類推 暫時只支援到16進製制\n你的要求數字:")
digo = int(input("輸入輸出進製(支援2-16) 例如:8 \n你的輸出進製:"))
innum = turnto10(digi,innum)
# print(innum)
list_out =turnfrom10(innum,digo)
print("答案:",end='')
for i in range(len(list_out)):
print(list_out[-1-i],end='')
print("\n")
res = input('輸入y繼續,回車退出')
程式思路就是先把數字處理成十進位制再處理成其他進製 小程式 進製轉換
寫一函式,輸入乙個十六進製制數,輸出相應的十進位制數 include includeint hexcharvalue char c int gethexlen char c unsigned int hex2decimal char c,int len 2.如何在定義時給列舉賦值 binary 二進...
Python 由格式化符號編寫進製轉換
o 格式化無符號八進位制 x格式化無符號十六進製制 x格式化無符號十六進製制 大寫 d格式化整數 bin 函式返回乙個整數int或長整數long int 的二進位制 print 中單獨的乙個百分號前面 裡面的都會列印,後面的是對應關係 0x 開頭表示的是16進製制 例如0x16 是十六進製制 對應的...
用python編寫愛心小程式
這幾天剛剛接觸python,學習之餘寫了乙個愛心demo,如下 import math words input 請輸入內容 為了了解相關運算的特性,對 進一步精簡,最終如下 print n join join love x y len love if 64 pow x,2 pow y pow pow...