用python3.4试编写程序,实现以下功能: 编程程序,实现日期的格式转换,要求如下: 1、接收由用户输入的日期,格式例如:1/2/2019 (月/日/年) 2、从用户输入的字符串中提取年、月、日 3、将年月日重新组合,以要求的形式进行输出,例如:2019-01-02,其中月日均占两个字符的宽度,不足两位的左边补0。注意:输出文本中的冒号要为英文字符。(10分) 可参照以下程序进行补全: date=_____ #输入日期,格式如:1/2/2019 (月/日/年) i=_____ #利用index方法获取字符串中第一个'/'的正向索引 month=____ #提取月份,例如'1/2/2019' 中的'1' j=____ #利用rindex方法获取字符串中最后一个'/'的正向索引 day=____ #提取日,例如'1/2/2019' #提取年份中的'2' print('),例如'1/2/2019' 中的'2019' print(''.format())#输出日期,格式例如:2019-01-02
时间: 2024-03-24 12:36:13 浏览: 85
以下是程序的完整代码:
```python
date = input("请输入日期,格式如:1/2/2019 (月/日/年):")
i = date.index('/')
month = date[:i].zfill(2)
j = date.rindex('/')
day = date[j-1:j+1].zfill(2)
year = date[j+2:]
print("{}-{}-{}".format(year, month, day))
```
程序的基本思路和前面的程序类似,不同的是使用了 `zfill()` 方法在左侧补 0,而不是手动判断长度进行补全。需要注意的是,`zfill()` 方法的参数是一个整数,表示字符串的总长度,如果字符串长度不足这个值,则在左侧用 0 进行填充。因此,在本程序中,需要将月份和日期的长度固定为 2,然后再使用 `zfill()` 方法进行补全。
需要注意的是,本程序中使用了字符串的切片操作 `[:]` 和切片索引 `[j-1:j+1]`。字符串的切片操作会返回一个新的字符串,包含原字符串中指定范围内的字符。切片操作的语法为 `string[start:end]`,其中 `start` 和 `end` 分别表示切片的起始位置和结束位置。如果省略 `start`,则默认从字符串开头开始;如果省略 `end`,则默认一直切到字符串末尾。切片索引也可以使用负数,表示从字符串末尾开始计数,例如 `-1` 表示字符串的最后一个字符。
相关问题
用python3.4试编写程序,实现以下功能: 编程程序,实现日期的格式转换,要求如下: 1、接收由用户输入的日期,格式例如:1/2/2019 (月/日/年) 2、从用户输入的字符串中提取年、月、日 3、将年月日重新组合,以要求的形式进行输出,例如:2019-01-02,其中月日均占两个字符的宽度,不足两位的左边补0。注意:输出文本中的冒号要为英文字符。(10分) 可参照以下程序进行补全: date=_____ #输入日期,格式如:1/2/2019 (月/日/年) i=_____ #利用index方法获取字符串中第一个'/'的正向索引 month=____ #提取月份,例如'1/2/2019' 中的'1' j=____ #利用rindex方法获取字符串中最后一个'/'的正向索引 day=____ #提取日,例如'1/2/2019' #提取年份中的'2' print('),例如'1/2/2019' 中的'2019' print(''.format())#输出日期,格式例如:2019-01-02
以下是程序的完整代码:
```python
date = input("请输入日期,格式如:1/2/2019 (月/日/年):")
i = date.index('/')
month = date[:i] if len(date[:i]) == 2 else '0' + date[:i]
j = date.rindex('/')
day = date[j-1:j+1] if len(date[j-1:j+1]) == 2 else '0' + date[j-1:j+1]
year = date[j+2:]
print("{}-{}-{}".format(year, month, day))
```
程序的基本思路:
1. 接收用户输入的日期,存储在变量 `date` 中;
2. 利用 `index()` 方法获取字符串中第一个 `/` 的正向索引,存储在变量 `i` 中;
3. 从字符串开头到第一个 `/` 的位置截取子串,即月份,存储在变量 `month` 中,如果长度不足 2,则在左边补 0;
4. 利用 `rindex()` 方法获取字符串中最后一个 `/` 的正向索引,存储在变量 `j` 中;
5. 从字符串倒数第二个 `/` 的位置到最后截取子串,即年份,存储在变量 `year` 中;
6. 从字符串倒数第一个 `/` 的位置到倒数第二个 `/` 的位置之间截取子串,即日期,存储在变量 `day` 中,如果长度不足 2,则在左边补 0;
7. 使用 `format()` 方法将年月日按照要求的格式组合起来,并输出。
需要注意的是,Python 中的字符串索引从 0 开始,因此获取第一个 `/` 的索引需要使用 `index()` 方法,获取最后一个 `/` 的索引需要使用 `rindex()` 方法。同时,在截取月份和日期的子串时,需要判断长度是否为 2,如果不足 2,则需要在左边补 0。
阅读全文