Python 简单除法是如何得到浮点数而不是模的?

Python 简单除法是如何得到浮点数而不是模的?,python,operators,division,Python,Operators,Division,代码中的除法不允许我将浮点数作为输出。我的程序是作为一个函数体构建的,它读取一个距离作为输入,而不是计算它所属的距离,通过不同的行驶路线获得每个距离,最后将一个数字作为输出返回给我。问题是,在我的程序中,我只想将距离除以km/h,但我得到的是仅除法的模,而不是浮点数。我尝试将其存储在可变持续时间=距离/kmh中,但这也不起作用。这是我的代码 # Die Auswahl wie man die Strecke zurück legen will a = "Morway" b = "A-road"

代码中的除法不允许我将浮点数作为输出。我的程序是作为一个函数体构建的,它读取一个距离作为输入,而不是计算它所属的距离,通过不同的行驶路线获得每个距离,最后将一个数字作为输出返回给我。问题是,在我的程序中,我只想将距离除以km/h,但我得到的是仅除法的模,而不是浮点数。我尝试将其存储在可变持续时间=距离/kmh中,但这也不起作用。这是我的代码

# Die Auswahl wie man die Strecke zurück legen will
a = "Morway"
b = "A-road"
c = "town"
# Das ist die Höchstgeschwindigkeit von jeder Strecke in km/h
m_strecke = 60
a_strecke = 90
town = 50
# This Program will ask for the demand of your way to travel and the distance too
print("give the distance to travel")
distance = int(input("Wie weit wollen sie reisen: "))
print("Wollen sie die Motorway (0), A-road(1), town(2) fahren")
random.choice(["a", "b", "c"])
choice = str(input("Wollen sie (a) Motorway fahren, (b) A-road oder (c) town fahren: "))
# This route we want to drive
print(choice)
# So fast we want to drive
print("Sie können von (30) bis (90) schnell fahren: ")
random.randint(30,90)
km_h = int(input("Wie schnell wollen Sie fahren: "))
print("So schnell kommen sie in Minuten in das Ziel")
print(distance / km_h)
# now we just to want to give the output of the time it belongs
if km_h == a_strecke:
    print("Sie fahren zulässige Höchstgeschwindigkeit(a_strecke)".format(a_strecke))
    print("So Schnell kommen sie in Minuten in das Ziel")
    print(distance / km_h)
elif km_h == m_strecke:
    print("Sie kommen ins Ziel wenn sie a_strecke fahren    würden)".format(a_strecke))   
    print(distance / km_h)
elif km_h == town:
    print("Sie kommen ins Ziel wenn die (a_strecke) fahren würden.".format(a_strecke))
    print("So schnell kommen sie in Minten in das Ziel")
    print(distance/ km_h)
else:
    print("Sie fahren entweder zu langsam oder zu schnell")
    print("So schnell kommen sie in das Ziel")    
    print(distance / km_h)
 # now we divide the motorway with the function mudolo through kilometer per hour and see              
if km_h < a_strecke:      
      print("Das sind sie unter der zulässigen Höchstgeschwindigkeit")
      xspeed = a_strecke % km_h
      print(xspeed)
      print("zur Erinnerung so schnell fahren sie")
      print("So schnell kommen sie in das Ziel")
      print(distance / km_h)
else:
    print("passt alles")
#我的朋友都会死的
a=“莫威”
b=“A路”
c=“城镇”
#这是以公里/小时为单位的
m_strecke=60
a_strecke=90
城镇=50
#该计划将要求您的旅行方式和距离的需求
打印(“给出行驶距离”)
距离=整数(输入(“Wie weit wollen sie reisen:”)
打印(“沃伦-西迪高速公路(0)、法伦镇(2)A路(1))
随机选择([“a”、“b”、“c”])
选择=str(输入(“Wollen sie(a)fahren高速公路,(b)a-路奥德(c)fahren镇:”)
#这条路我们要开
打印(可选)
#我们想开得这么快
打印(“Sie können von(30)bis(90)schnell fahren:”)
random.randint(30,90)
km_h=int(输入(“Wie schnell wollen Sie fahren:”)
打印(“因此,schnell kommen在das Ziel中以分钟为单位”)
打印(距离/公里/小时)
#现在我们只想给出它所属时间的输出
如果km_h==a_strecke:
打印(“Sie fahren zulässige Höchstgeschwindingkeit(a_strecke)”。格式(a_strecke))
打印(“因此,Schnell kommen在das Ziel中以分钟为单位”)
打印(距离/公里/小时)
elif km_h==m_strecke:
打印(“您在Ziel wenn Sie a_strecke fahren würden中的kommen)”。格式(a_strecke))
打印(距离/公里/小时)
elif km_h==城镇:
印刷体(“我是齐尔·温迪(a_strecke)fahren würden。”。格式(a_strecke))
印刷品(“因此,schnell kommen在das Ziel的Minten中)
打印(距离/公里/小时)
其他:
印刷品(“你是我的朋友吗?”
印刷品(“因此,施奈尔·科曼在《齐尔》中”)
打印(距离/公里/小时)
#现在我们用mudolo函数将高速公路划分为每小时公里数,然后看
如果km_h
您的问题似乎是整数除法。只需在调用中尝试float()而不是int():

distance = float(input("Wie weit wollen sie reisen: "))
km_h = float(input("Wie schnell wollen Sie fahren: "))

在使用Python2.x时,您应该知道在执行除法时实际上有两种风格

经典部门

1 / 2       # yields 0 
1 / 2.0     # yields 0.5
如果涉及至少一个float类型的操作数,则始终执行后者

真正的划分

1 / 2       # yields 0 
1 / 2.0     # yields 0.5
使用Python时,将执行3倍的真除法。所以不管你们是否分开

1 / 2 

无论是否有浮点数作为操作数,它将始终执行真除法

因此,代码中的问题可能不是源于除法部分

只需打开Python3交互式shell并键入

60 / 30 
你自己去看——发生了什么

有关Python中division的更多信息,请访问以下网站:


什么是“不工作”-时间当然是距离除以速度,假设您使用的是Python3.x(基于
print
语法),整数除法不是问题。你的单位是否一致(公里/小时、小时和公里)?你使用的是python2还是3?@jonshrape我的单位不包括小时。我只得到输入的距离和你想开多快。我只是想把旅程的持续时间作为输出。@Padraic Cunnigham:我使用python 2,基于
print
input
语法,OP使用的是python 3.x,在这种情况下没有区别