use*_*511 -1 python numbers digits sizing
问题是:
<<背景故事:假设我们正在设计一个新的汉堡关节的销售点和订单跟踪系统.这是一个小型联合,它只出售4种组合选择:经典单人组合(汉堡配一个馅饼),经典双人奶酪组合(2个馅饼),经典三人配奶酪组合(3个馅饼),前卫四人组合Guacamole Combo(4个小馅饼).我们将这些组合分别编码为1,2,3和4.每餐的体型都很大,可以买到更大的薯条和饮料.对于组合1,2,3和4,大尺寸组合分别由5,6,7和8表示.>>
编写一个名为order_size的迭代函数,它接受一个顺序并返回顺序中的组合数.例如,order_size(237) - > 3.
我应该有
order_size(0) = 0
order_size(6) = 1
order_size(51) = 2
order_size(682) = 3
Run Code Online (Sandbox Code Playgroud)
我的代码是:
def order_size(order):
# Fill in your code here
if order > 0:
size = 0
while order > 0:
size += 1
order = order // 10
return size
else:
return 0
Run Code Online (Sandbox Code Playgroud)
但我没有得到// 10部分的订单.我猜这是错的,但我想不出任何东西可以替代它.
不需要迭代函数,您可以通过将其"转换"为字符串来测量数字的长度:
num = 127
order = len(str(num))
print(order) # prints 3
Run Code Online (Sandbox Code Playgroud)
但如果你真的想迭代地做到这一点:
def order(num):
res = 0
while num > 0:
num = int(num / 10)
res += 1
return res
print(order(127)) # prints 3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9062 次 |
| 最近记录: |