自己写的程序出了问题

想问一下为什么这样会报错啊?print里面是不可以直接这么写的吗?要进行怎么样的修改呢?
img

字符串和变量之间要用+号连接,只有两个用引号括起来的字符串才可以不用加号。
在print中,也可以用逗号分开多个表达式

确实不能这样写,这样改:

q = True

while q:
    num = input('')
    if num == 'Q':
        break
    print('十进制 -> 十六进制:%s -> %x'%(num,int(num)))
    print('十进制 -> 八进制:%s -> %o'%(num,int(num)))
    print('十进制 -> 二进制:%s -> '%num,bin(int(num)))


print('十进制 -> 十六进制:', num, " -> ", '%x' % num)
print('十进制 -> 十六进制:' + str(num) + " -> " + '%x' % num)
print('十进制 -> 十六进制:%s' % num + " -> " + '%x' % num) 
print('十进制 -> 十六进制:%s -> %x' % (num, num)) 
print('十进制 -> 十六进制:{} -> {}'.format (num, '%x' % num))