Kenan Kılıç
Kilopat
- Katılım
- 17 Şubat 2015
- Mesajlar
- 125
Daha fazla
- Cinsiyet
- Erkek
def hexToDecimal(num, output):
result = 0
num = str(num)
ans = [0]*len(num)
"""
aram `output` is output of wordlist file.
"""
for i in range(len(num)):
if(num==('0')):
ans = 0
elif(num==('1')):
x = 2 ** (4*(len(num)-i-1))
ans = x
elif(num==('2')):
x = 2 ** (4*(len(num)-i-1) + 1)
ans = x
elif(num==('3')):
x = (2 ** (4*(len(num)-i-1) + 1) + 2 ** (4*(len(num)-i-1)))
ans = x
elif(num==('4')):
x = 2 ** (4*(len(num)-i-1) + 2)
ans = x
elif(num==('5')):
x = 2 ** (4*(len(num)-i-1) + 2) + 2 ** (4*(len(num)-i-1))
ans = x
elif(num==('6')):
x = 2 ** (4*(len(num)-i-1) + 2) + 2 ** (4*(len(num)-i-1) + 1)
ans = x
elif(num==('7')):
x = 2 ** (4*(len(num)-i-1) + 2) + 2 ** (4*(len(num)-i-1) + 1) + 2 ** (4*(len(num)-i-1))
ans = x
elif(num==('8')):
x = 2 ** (4*(len(num)-i-1) + 3)
ans = x
elif(num==('9')):
x = 2 ** (4*(len(num)-i-1) + 3) + 2 ** (4*(len(num)-i-1))
ans = x
elif(num==('a')):
x = 2 ** (4*(len(num)-i-1) + 3) + 2 ** (4*(len(num)-i-1) + 1)
ans = x
elif(num==('b')):
x = 2 ** (4*(len(num)-i-1) + 3) + 2 ** (4*(len(num)-i-1) + 1) + 2 ** (4*(len(num)-i-1))
ans = x
elif(num==('c')):
x = 2 ** (4*(len(num)-i-1) + 3) + 2 ** (4*(len(num)-i-1) + 2)
ans = x
elif(num==('d')):
x = 2 ** (4*(len(num)-i-1) + 3) + 2 ** (4*(len(num)-i-1) + 2) + 2 ** (4*(len(num)-i-1))
ans = x
elif(num==('e')):
x = 2 ** (4*(len(num)-i-1) + 3) + 2 ** (4*(len(num)-i-1) + 2) + 2 ** (4*(len(num)-i-1) + 1)
ans = x
elif(num==('f')):
x = 2 ** (4*(len(num)-i-1) + 3) + 2 ** (4*(len(num)-i-1) + 2) + 2 ** (4*(len(num)-i-1) + 1) + 2 ** (4*(len(num)-i-1))
ans = x
for i in range(len(num)):
result = ans + result
return result
def main():
run = True
print(" --- 16'lık tabandan 10'luk tabana çeviri ---\nÇıkış için *...")
while(run==True):
num = input("\nLütfen ondalık (küçük harf) olarak değiştirilecek bir onaltılık sayı girin: ")
if(num=="*"):
run = False
else:
ans = hexToDecimal(num)
print("\n",num, "ondalık sayı olarak: ",ans,output)
output.write("%s\n" % num, ans)
output = open(output, 'w')
main()
if __name__ == '__main__':
parser.add_argument(
'-out', '--output',
default='yeni/1.txt', help='Çıktı dosyası')
#-----------------------------------------------------------
def hexToDecimal_2(num):
return int(num,16)
#----------------------------------------------------------
File "2.py", line 76, in <module>
main() # Run the test cases
File "2.py", line 72, in main
ans = hexToDecimal(num)
TypeError: hexToDecimal() missing 1 required positional argument: 'output'
Hatası alıyorum... Yardımlarınızı bekliyorum.
Genel amaç, çoklu hexadecimal kopyalayıp bunu decimal haline çevirerek .txt alarak kaydetmek.
Python 3.7.3 kullanıyorum.
Son düzenleme: