python-3.x - 解析用户输入
问题描述
如何使用切片方法从用户输入(月、日、年)中提取日期。问题可能是我分割字符串的方式。请赐教。
这是我的代码示例。我似乎无法正确获得月份和日期。我添加[0:9]
是因为我认为 9 月有 9 个字母,但问题是如果用户输入的月份少于 9 个字母,那么我的代码就会出错。
def extractDate(datevalue):
d = datevalue
return d
x = extractDate(input("Enter Date: "))
cpos = x.find(',')
print("Month: " + x[0:9])
print("Day: " + x[11:13])
print("Year: " + x[cpos+2:])
输出:
Enter Date: December 2, 1999
Month: December
Day: 1
Year: 1999
Process finished with exit code 0
预期的输出应该是例如:
月份:十二月
天数:2
年份:1999
解决方案
如果你保证输入总是这样,你可以这样做:
def extract_date(date_string):
month_day, year = date_string.split(", ")
month, day = month_day.split(" ")
return day, month, year
推荐阅读
- mongodb - 基于另一个集合更新集合的字段 - MongoDB
- php - prettus 验证器无法正确验证日期
- python - 如何在 Python 中使用 matplotlib 绘制一条最佳拟合线?
- image - Tomcat 图像加载失败
- excel - 使用循环从一个工作簿复制到另一个工作簿
- arrays - 无法获得数组Angular中的第一项
- html - 删除 Jekyll 页面上的元素
- java - 为什么在导入 com.sun.management.OperatingSystemMXBean 时显示错误
- outlook - 带有多个日历的 Outlook:如何使用 VBA 确定选定的日历?
- reactjs - npm create-react-app 等待很长时间后无法完成