python的进制转换问题
print('十进制->八进制:%d->0o%o'%(num,num))这句里最后的(num,num)是什么意思?有什么意义?输入:9后得到十进制->八进制:9->0o1...
print('十进制 -> 八进制 :%d -> 0o%o' % (num,num))
这句里最后的(num,num)是什么意思?有什么意义?
输入:9后得到
十进制 -> 八进制 :9 -> 0o11
也没有出现(,)这样的格式啊
求高人指点!!!! 展开
这句里最后的(num,num)是什么意思?有什么意义?
输入:9后得到
十进制 -> 八进制 :9 -> 0o11
也没有出现(,)这样的格式啊
求高人指点!!!! 展开
展开全部
int类是将指定进制下的数字转换为十进制数字
你在python命令下输入help(int),会出现下面这段话
class int(object)
| int(x=0) -> int or long
| int(x, base=10) -> int or long
|
| Convert a number or string to an integer, or return 0 if no arguments
| are given. If x is floating point, the conversion truncates towards zero.
| If x is outside the integer range, the function returns a long instead.
|
| If x is not a number or if base is given, then x must be a string or
| Unicode object representing an integer literal in the given base. The
| literal can be preceded by '+' or '-' and be surrounded by whitespace.
| The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to
| interpret the base from the string as an integer literal.
你碰到的问题在可以引用上面这段英文来解释
If x is not a number or if base is given, then x must be a string or
Unicode object representing an integer literal in the given base.
翻译过来是如果参数不是数字类型,或者base参数给出了,那么x必须是基于指定进制(默认是十进制)下的数字序列的字符串,所以下面举得例子有的成功有的报错:
int('123')#可以成功,执行,123十进制数字内
int('A123')#报错,因为A不在十进制数内
int('A123',16)#可以成功,因为A123,都是十六进制内的基本数字
int('010101',2)#可以成功,因为0和1都是二进制的基本数字。
楼上的也说了,组成二进制的数字是只有0和1的,你的输入中可是包含了非二进制的数字呢
你在python命令下输入help(int),会出现下面这段话
class int(object)
| int(x=0) -> int or long
| int(x, base=10) -> int or long
|
| Convert a number or string to an integer, or return 0 if no arguments
| are given. If x is floating point, the conversion truncates towards zero.
| If x is outside the integer range, the function returns a long instead.
|
| If x is not a number or if base is given, then x must be a string or
| Unicode object representing an integer literal in the given base. The
| literal can be preceded by '+' or '-' and be surrounded by whitespace.
| The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to
| interpret the base from the string as an integer literal.
你碰到的问题在可以引用上面这段英文来解释
If x is not a number or if base is given, then x must be a string or
Unicode object representing an integer literal in the given base.
翻译过来是如果参数不是数字类型,或者base参数给出了,那么x必须是基于指定进制(默认是十进制)下的数字序列的字符串,所以下面举得例子有的成功有的报错:
int('123')#可以成功,执行,123十进制数字内
int('A123')#报错,因为A不在十进制数内
int('A123',16)#可以成功,因为A123,都是十六进制内的基本数字
int('010101',2)#可以成功,因为0和1都是二进制的基本数字。
楼上的也说了,组成二进制的数字是只有0和1的,你的输入中可是包含了非二进制的数字呢
追问
非常感谢!!码字辛苦了
展开全部
你要看的应该是Python3 print函数的格式化输出知识点。
更多追问追答
追问
链接举的例子是print("%.*f" % (4, 1.2))
Python实际上用4来替换*。所以实际的模板为"%.4f"。
可我的例子里没有*啊,怎么替换?我还是不懂希望答主自己口语化解释
追答
格式化字符串时,Python使用一个字符串作为模板。模板中有格式符,这些格式符为真实值预留位置,并说明真实数值应该呈现的格式。Python用一个tuple将多个值传递给模板,每个值对应一个格式符。
比如下面的例子:
print("I'm %s. I'm %d year old" % ('Vamei', 99))
上面的例子中,
"I'm %s. I'm %d year old" 为我们的模板。%s为第一个格式符,表示一个字符串。%d为第二个格式符,表示一个整数。('Vamei', 99)的两个元素'Vamei'和99为替换%s和%d的真实值。
我想上面这段话已经非常清楚地解释了% ()的作用。你还是不懂,说明你没有认真理解这段话的意思。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询