【发布时间】:2021-12-06 00:26:43
【问题描述】:
我正在尝试创建一个程序,将摄氏度转换为华氏度,反之亦然。
程序要做的第一件事是询问用户用户想要转换摄氏温度还是华氏温度。如果输入无效,打印无效并要求重试。
然后会要求用户输入由星号分隔的开始、结束和间隔。例如 0102。这意味着转换的开始将是从 0 到 10,间隔为 2,因此要转换的值将是 0, 3, 6, 9
如果start 或者 如果start>end,则interval应该为0>interval,否则你的程序会显示错误并要求重试。 如果用户输入只有一个值,比如 10。这意味着 start 等于 1,这将是 start 的默认值,最大为 10,间隔是 2,这将是默认值开始时的间隔 如果用户输入有两个值,比如 10*2,这意味着 start 等于 10 到 2。间隔设置为默认值,从 start>end 开始等于 -2。 这是我的代码,它不起作用,我被卡住了。
我将如何在这里使用 for 循环? 输入:0 * 100 * 3 输出:
! 然后程序会要求用户再试一次。如果是,程序将从一开始就运行。
如果没有,它会打印“Thank you”以及整个程序中无效输入的次数以及用户成功转换温度的次数。while True:
pick = input("Enter your input either in Celsius or Fahrenheit: ")
if pick == "Celsius":
pass
elif pick == "Fahrenheit":
pass
else:
print("Invalid input. Try again.")
continue
while True:
sei = input("Enter the start, range, and interval separated by an asterisk(*): ").split("*")
if len(sei) == 3:
if int(sei[0].isdigit()) < int(sei[1].isdigit()) and 0 < int(sei[2].isdigit()):
pass
elif int(sei[0].isdigit()) > int(sei[1].isdigit()) and 0 > int(sei[2].isdigit()):
pass
else:
print("Error. Try again.")
continue
else:
print("Error. Try again")
【问题讨论】:
-
你打算添加一些真实的代码而不是
pass吗? -
是的。我想使用 for 循环将开始到结束从摄氏转换为华氏,反之亦然。
-
那么请继续更新您的代码!在 Stack Overflow 上,您应该尽最大努力自己解决问题。
标签: python for-loop if-statement while-loop converters