<p>我有另一个问题的程序,转换成十六进制二进制数字。我有一个运行良好的程序,但是用小写字母显示十六进制数字,尽管答案必须是大写字母,如<a href="https://i.stack.imgur.com/z5G7Y.png" rel="nofollow noreferrer">question and sample run</a>所示</p>
<p>这是我的密码</p>
<pre><code>def binaryToHex(binaryValue):
#convert binaryValue to decimal
decvalue = 0
for i in range(len(binaryValue)):
digit = binaryValue.pop()
if digit == '1':
decvalue = decvalue + pow(2, i)
#convert decimal to hexadecimal
hexadecimal=hex(decvalue)
return hexadecimal
def main():
binaryValue = list(input("Input a binary number: "))
hexval=binaryToHex(binaryValue)
hexa=h1.capitalize() #Tried to use capitalize() function but didn't worl
print("The hex value is",hexa[ 2:4]) #strips off the first 2 digits
main()
</code></pre>
<p><a href="https://i.stack.imgur.com/FFEoe.png" rel="nofollow noreferrer">This is what is displayed when I run</a></p>
<p>只做一个函数。。。你知道吗</p>
<pre><code>def binaryToHex():
binval = input('Input a binary number : ')
num = int(binval, base=2)
hexa = hex(num).upper().lstrip('0X')
print(f'The hex value is {hexa}')
</code></pre>