用Python计算步骤

时间:2019-07-07 17:46:20

标签: python

功能使我大为困惑。

我的代码在哪里出了问题,我确定有很多事情,但是请详细说明我在做什么。

2000步是1英里,输入是步数,输出是行走的英里。

def steps_to_miles(user_steps):
    steps = input();
    mile = steps / 2000
    return user_steps

print('%0.2f' % user_steps)

4 个答案:

答案 0 :(得分:1)

问题

  1. 输入返回一个字符串,您无法对其进行算术
  2. Python不使用分号作为行终止符
  3. 您要返回的是步数,而不是英里数
  4. 您没有在打印语句中调用该函数
  5. 您的转换功能不应要求输入

尝试一下

def steps_to_miles(user_steps):
    miles = int(user_steps) / 2000
    return miles

示例

>>> steps = input()
4321
>>> print( '%0.2f' % steps_to_miles( steps ) )
2.16

答案 1 :(得分:0)

用于计算步骤的代码将如下所示:

def steps_to_miles():
    steps = int(input('Enter Steps: '));
    mile = steps / 2000
    return mile

print('You Walked',steps_to_miles(),'miles')

答案 2 :(得分:0)

input()函数等待用户输入-如果您在代码中不输入任何参数,它将不显示消息并等待输入。

它不代表函数输入-已经由user_steps参数代表。

user_steps仅在函数范围内(缩进部分)定义,因此user_steps语句中的print变量不是同一变量。

我想你打算这样写

def steps_to_miles(steps):
    return steps / 2000

user_steps = input("Please enter the number of steps walked:\t")
print("You have walked %0.2f miles !" % steps_to_miles(user_steps))

答案 3 :(得分:0)

您的代码应该像

def steps_to_miles():
    steps = input();
    mile = steps / 2000
    return mile

print('%0.2f' %steps_to_miles())

这应该有效。