【发布时间】:2019-06-24 18:15:42
【问题描述】:
我正在尝试解决一个基于 python 的问题:
`Given an integer,print the following values for each integer from 1 to n :
Decimal
Octal
Hexadecimal (capitalized)
Binary`
我做了类似的事情:
def print_format(number):
for i in range(number+1):
decimal=str(i)
binary=str(bin(i))
octa=str(oct(i))
hexagonal=str(hex(i))
return (decimal+' '+octa[2:]+' '+hexagonal[2:].upper()+' '+binary[2:])
打印格式(5)
'5 5 5 101'
代码只返回最后一组值。但是,正如我所期待的那样,
0 0 0 0
1 1 1 1
2 2 2 10
3 3 3 11
4 4 4 100
5 5 5 101
与print 语句一样的部分代码运行良好。
def print_format(number):
for i in range(number+1):
decimal=str(i)
binary=str(bin(i))
octa=str(oct(i))
hexagonal=str(hex(i))
print (decimal+' '+octa[2:]+' '+hexagonal[2:].upper()+' '+binary[2:])
谁能解释我在使用return 语句时做错了什么?
【问题讨论】:
-
提示:缩进。
-
return 语句应该在 for 循环之外?正确的?这就是我所做的。如果我错了,请纠正我
标签: python-3.x for-loop return user-defined-functions