【发布时间】:2018-07-28 19:44:23
【问题描述】:
我目前正在编写一个程序,该程序需要解释用户输入并将其转换为可用数据。数据中的字数必须是 4、8、12 或 4 的任何倍数。这是因为用户在输入数据时必须遵循的格式——他的输入实际上只是多组 4 个字。因此,在我尝试使用数据之前,我想检查以确保用户遵循正确给出的格式,所以我必须检查第 0、第 4 和第 8 位是 3 位数月份,并且第 1 位, 5 号和 9 号……你懂的。
问题是这样的:我不想检查数据中的第 0 个和第 4 个和第 8 个条目,我想一直检查到 80 而不编写代码来检查 20次。
此程序的示例输入:
JUL ENT 20 K AUG SAL 2 M MAR OTR 200 K
我是 Python 新手,所以任何建议都会有很大帮助。这是我到目前为止所写的。
import re
data_input = input("Please input data.\n")
data_set = re.sub("[^\w]", " ", data_input).split()
data_ready_1 = False
def data_ready_function_1():
if not len(data_set) % 4 == 0:
print("That\'s not a valid input. For formatting help, type \'help\'.'")
data_ready_1 = False
else:
data_ready_1 = True
number = len(data_set) // 4
def data_ready_function_2():
if not (data_set[0]) == ("JAN" or "FEB" or "MAR" "APR" or "MAY" or "JUN" or "JUL" or "AUG" or "SEP" or "OCT" or "NOV" or "DEC"))
print("That\'s not a valid input.'")
【问题讨论】:
-
要获得四人组,请查看stackoverflow.com/questions/312443/…
-
要检查特定字符串是否在一组选项中,请查看“in”(寻找文档链接)
标签: python python-3.x