Python3范围和输入?

Python3范围和输入?,python,python-3.x,range,Python,Python 3.x,Range,我在编写一个程序时遇到了麻烦,该程序要求一个月的天数,只接受28到31之间的值(包括28天和31天);然后继续询问,直到收到可接受的值。然后询问每天的高温(华氏度)。仅接受-50和110之间的值;继续询问每天的值,直到收到可接受的值 这就是我目前所拥有的。我在第11行的多行语句中得到了一个TokenError:EOFerror。我被困在如何提示用户输入该范围内每天的高温上——这是我的最后一行 totalnumberofday=0 totalDayHighTemp=0 num=int(输入(“输入

我在编写一个程序时遇到了麻烦,该程序要求一个月的天数,只接受28到31之间的值(包括28天和31天);然后继续询问,直到收到可接受的值。然后询问每天的高温(华氏度)。仅接受-50和110之间的值;继续询问每天的值,直到收到可接受的值

这就是我目前所拥有的。我在第11行的多行语句中得到了一个
TokenError:EOF
error。我被困在如何提示用户输入该范围内每天的高温上——这是我的最后一行

totalnumberofday=0
totalDayHighTemp=0
num=int(输入(“输入一个月的天数:”)
如果num=31:
num=int(输入(“请重新输入可接受的值:”)
对于范围内的i(1,num+1):
DayHighTemp=浮动(输入(“请输入每日高温”+格式(i+“d”))

有几个问题,让我们逐一讨论,看看如何解决:

  File "a.py", line 12
    
    ^
SyntaxError: unexpected EOF while parsing
SyntaxError表示脚本的语法或语法有问题。消息告诉我们它在需要更多代码时到达了文件末尾。查看代码,在关闭
DayHighTemp=float(…
语句的最后一行缺少
。添加
解决了这个问题

再次运行该文件时,我们会遇到以下问题:

Enter the number of days in a month:30
Traceback (most recent call last):
  File "a.py", line 10, in <module>
    DayHighTemp=float(input("Please enter the daily high temperature"+ format(i+"d")))
TypeError: unsupported operand type(s) for +: 'int' and 'str'
相反,最好是一直问这个问题,直到它收到一个有效的回答——或者,用更好的措辞,在回答无效时继续问

虽然有多种方法可以做到这一点,但有一种方法可以做到:

num=int(输入(“输入一个月的天数:”)
当num=31时:
num=int(输入(“请重新输入可接受的值:”)

为了确保有效的温度,我将把它作为一个练习留给您使用。

您可以对代码使用块引号吗,因为您的第一行会抛出错误,除非它们在单独的行上。也不确定您为什么要尝试使用
格式
。Float会将其转换为一个数字。在DayHighTemp行上缺少一个结束括号,您有3个开始括号,只有2个结束括号