| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
输入数字,然后分别打印,转化为十六进制,八进制和二进制 
答案的代码写得很简单,但我不太懂,用了个笨方法,得出同样结果,不知道对不对: 
q=True 
num1=0 
num2=0 
num3=0 
while q: 
    num=input("请输入一个整数:(输入Q结束程序)") 
    if num!="Q": 
        num=int(num) 
        num1= '0x%x'%num 
        num2='0o%o'%num 
        num3=bin(num) 
        print("十进制 -> 十六进制 : "+str(num)+" ->"+str(num1)) 
        print("十进制 -> 八进制 : "+str(num)+" ->"+str(num2)) 
        print("十进制 -> 八进制 : "+str(num)+" ->"+str(num3)) 
        
    else: 
        q=False 
 
附答案方法: 
1.        q = True 
2.        while q: 
3.            num = input('请输入一个整数(输入Q结束程序):') 
4.            if num != 'Q': 
5.                num = int(num) 
6.                print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num)) 
7.                print('十进制 -> 八进制 : %d -> 0o%o' % (num, num)) 
8.                print('十进制 -> 二进制 : %d -> ' % num, bin(num)) 
9.            else: 
10.                q = False 
        num1、num2、num3 已经是 str 了所以,后面不需要再用 str() 转换,可以直接和其他字符串相加,所以,下面的代码: 
-         print("十进制 -> 十六进制 : "+str(num)+" ->"+str(num1))
 
 -         print("十进制 -> 八进制 : "+str(num)+" ->"+str(num2))
 
 -         print("十进制 -> 八进制 : "+str(num)+" ->"+str(num3))
 
  复制代码
        应该改为
 -         print("十进制 -> 十六进制 : "+str(num)+" ->" + num1)
 
 -         print("十进制 -> 八进制 : "+str(num)+" ->" + num2))
 
 -         print("十进制 -> 八进制 : "+str(num)+" ->" + num3)
 
  复制代码 
 
 
 |   
 
 
 
 |