我需要一些帮助。 我试图让我的循环工作与小数,但我的代码不会接受浮动,我不知道下一步该怎么做。任何人都可以指出我出错的地方吗?你可以在这个循环中使用浮点数吗?
这是一个代码,用于将用户定义的步长(Delta)转换成摄氏温度到华氏温度。那就是:
def main():
# Handshake
print("This program will convert a range of Celsius degrees to")
print("Fahrenheit degrees based on your input.")
# Ask and read low end of range
Rangelow = eval(input("Enter the low end of your range: "))
# Ask and read top end of range
Rangehigh = 1 + eval(input("Enter the high end of your range: "))
# Ask and read Delta
Delta = eval(input("Enter the Delta for your range: "))
#Display output
print("Celsius to Fahrenheit by", Delta)
for i in range(Rangelow, Rangehigh, Delta):
print(i, " ", 9/5 * i + 32)
main()
这是我的意思的例子:
这一计划将一系列摄氏度转换为根据您的输入 华氏度。 输入范围的低端:3.8 输入范围的高端:14.7 输入三角洲为您范围:1.1 摄氏度到华氏1.1 回溯(最近通话最后一个): 文件“C:\用户\ jarre \ Desktop \ Python程序\ Conversion.py“,第27行,在 main() 文件”C:\ Users \ jarre \ Desktop \ Python Programs \ Conversion.py“,第22行,主要为 范围内(Rangelow,Rangehigh + 1,Delta): TypeError:'float'对象不能被解释为整数
我应该注意到问题似乎在于输入,输出没有问题抛出十进制后输入已被转换。
当你说“我的代码不会接受浮动”,这是什么意思?如果有回溯,请编辑您的问题并添加它。 – Gerrat
查看文档:https://docs.python.org/2/library/functions.html ...参数必须是纯整数。# – blacksite
附注:请勿在用户上使用'eval'提供的输入。如果你期望'float',那么使用'float'而不是'eval'。如果你想允许'int'或'float'(或任何Python文字),你可以使用['ast.literal_eval'](https://docs.python.org/3/library/ast.html#ast。 literal_eval),它可以安全地处理任意的Python字面值,而无需打开执行任意代码。 – ShadowRanger