输入:一个合法的公历日期,格式为“XXXXXXXX”,分别代表年(4 位)、月(2 位)、日(2 位)。 输出:当日对应星期几的英语缩写(3 个字母,首字母大写)。
时间: 2024-10-24 07:18:49 浏览: 5
要计算给定合法公历日期对应的星期几,可以使用Python的`datetime`模块。首先,你需要将字符串转换为`datetime`对象,然后获取该日期的星期几,最后将其转换为英文缩写。以下是一个简单的示例:
```python
from datetime import datetime
def get_weekday(date_string):
format_str = "%Y%m%d" # 定义日期格式
try:
date_obj = datetime.strptime(date_string, format_str) # 将字符串转为日期对象
weekdays = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"] # 星期英文全称列表
return weekdays[date_obj.weekday()] # 返回缩写的星期名
except ValueError:
return "Invalid date format"
# 示例输入
date_input = "20230608"
weekday = get_weekday(date_input)
print(weekday) # 输出:Thursday (假设今天是2023年6月8日)
```
相关问题
编写程序,验证使用input()函数输入的字符串符合我校学生学号的规则。规则是:(1)共8个字符;(2)首位必须是英文大写字符;(3)后7位是数字。若通过验证输出提示语“输入的学号是:xxxxxxxx,通过验证。”(注:“xxxxxxxx”为输入的学号);否则输出提示语“输入的学号有误,重新输入。”,并返回强制重新输入,直到输入正确的格式通过验证。
好的,下面是Python代码实现:
```python
while True:
student_id = input("请输入学号:")
if len(student_id) != 8:
print("输入的学号有误,重新输入。")
continue
if not student_id[0].isupper():
print("输入的学号有误,重新输入。")
continue
if not student_id[1:].isdigit():
print("输入的学号有误,重新输入。")
continue
print("输入的学号是:{},通过验证。".format(student_id))
break
```
代码中使用了一个while循环,不断要求用户输入学号,直到输入正确的格式通过验证才退出循环。在每次输入学号后,进行三次验证,分别验证学号长度、首位是否为英文大写字符、后7位是否为数字。如果验证不通过,则输出提示语“输入的学号有误,重新输入。”,并使用continue返回循环开头,要求用户重新输入学号。如果验证通过,则输出提示语“输入的学号是:xxxxxxxx,通过验证。”,并使用break退出循环。
用Python编写程序,验证使用 input ()函数输入的字符串符合我校学生学号的规则。规则是:(1)共8个字符;(2)首位必须是英文大写字符;(3)后7位是数字。若通过验证输出提示语"输入的学号是: xxxxxxxx ,通过验证。"(注:" xxxxxxxx "为输入的学号);否则输出提示语"输入的学号有误,重新输入",并返回强制重新输入,直到输入正确的格式通过验证。
可以使用正则表达式来验证输入的字符串是否符合学号规则。Python 中可以使用 re 模块来操作正则表达式。下面是一个示例代码:
```python
import re
while True:
student_id = input("请输入学号:")
if re.match(r'^[A-Z]\d{7}$', student_id):
print("输入的学号是:{},通过验证。".format(student_id))
break
else:
print("输入的学号有误,请重新输入。")
```
代码中使用了正则表达式 `^[A-Z]\d{7}$` 来匹配学号,其中:
- `^` 表示字符串的开头;
- `[A-Z]` 表示一个英文字母,范围是 A 到 Z;
- `\d{7}` 表示七个数字;
- `$` 表示字符串的结尾。
如果输入的学号符合规则,就会输出“通过验证”,并跳出循环;否则会提示重新输入,直到输入正确为止。
阅读全文