求助,课后作业进制转换。
小甲鱼的答案比较简单,我则想实现判断输入的内容是否是整数这一功能,编写代码如下:answer = input('叫声爹就帮你转换进制:')
temp = answer
if temp == "爹":
print("诶,真乖")
while 1:
num = input("儿砸,输入一个你想转换的整数吧:")
int_num = int(str(num))
if type(num)==int:
x = '%#x' % num
o = '%#o' % num
t = bin(num)
print('十进制 -> 十六进制:',num," -> ",x)
print('十进制 -> 八进制:',num," -> ",o)
print('十进制 -> 二进制:',num," -> ",t)
elif num == "Q":
break
else:
print("sb,你输入的什么玩意\n"
"再给你一次机会,不要给脸不要脸")
else:
print("SB,不肯叫我会帮你?")
运行结果为:
叫声爹就帮你转换进制:爹
诶,真乖
儿砸,输入一个你想转换的整数吧:10
sb,你输入的什么玩意
再给你一次机会,不要给脸不要脸
儿砸,输入一个你想转换的整数吧:
我已经知道问题出在input输入默认为str,但不知道怎么修改使得它正确运行,向各位大神求助
answer = input('叫声爹就帮你转换进制:')
temp = answer
if temp == "爹":
print("诶,真乖")
while 1:
num = input("儿砸,输入一个你想转换的整数吧:")
if num.isdigit():#判断输入是全部数字组成
int_num = int(num) #这里str没必要 ,而且前面转换成int后,后面代码里都要用整型才能运行
# x = '%x' % num 输出格式是在print函数里的
# o = '%o' % num
t = bin(int_num)
print('十进制 -> 十六进制 : %d -> 0x%x' % (int_num, int_num))
print('十进制 -> 八进制 : %d -> 0o%o' % (int_num, int_num))
print('十进制 -> 二进制 : %d -> ' % int_num, t)
elif num == "Q":
break
else:
print("sb,你输入的什么玩意\n"
"再给你一次机会,不要给脸不要脸")
else:
print("SB,不肯叫我会帮你?") 必要的修改都改了,满意的话还请设个最佳 .
谢谢上面那个老哥
页:
[1]