Python 中直接输入16进制

这个问题在C语言是这样解决的:

int a=0;
scanf("%x",&a);
printf("十进制 %#d, 十六进制 %#x",i,i);

程序运行的结果是这样子的:

enter image description here

Python中的input函数输入的是一个str数据,我们要怎么才能吧这个 str 转换成我们想要的16进制呢?

首先我尝试使用 hex() 方法:
enter image description here
很明显结果是 0xc ,而不是 0x12 ,

然后,我发现了 eval() 方法:
enter image description here
得到我们想要的结果,但是每次输入都要加上前缀。

Python 中输入数据只有这一个办法吗,各位还有其他办法吗?

感谢 萧峰 提供的方法:

enter image description here