第1关:判断火车票座位
##第1关:判断火车票座位seat = input()try: letter = seat[-1] line = int(seat[:len(seat) - 1]) if line < 1 or line > 17 or (letter not in ['A', 'a', 'B', 'b', 'C', 'c', 'D', 'd', 'F', 'f']): print("输入错误") elif letter in ['A', 'a', 'F', 'f']: print("窗口") elif letter in ['C', 'c', 'D', 'd']: print("过道") elif letter in ['B', 'b']: print("中间")except: print("输入错误")
第2关:缩写月份单词
month_lst = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']s = input().strip() # 使用 strip() 去除输入两端的空白字符try: # 将输入转换为大写并与列表中的月份名比较 if s.upper() not in [month.upper() for month in month_lst]: print("spelling mistake") elif(s.upper()=="SEPTEMBER"): print("Sept.") else: # 生成月份缩写 abbr = s[:3] # 如果输入少于3个字符,则直接使用输入 print(abbr[0].upper() + abbr[1:].lower() + ".")except : print(f"spelling mistake")
第3关:字符串移位
s=input()n=int(input())try: n=n%len(s) a=[] b=[] c=[] a[n:]=s[:len(s)-n] b[:n]=s[len(s)-n:] c=b+a for x in c: print(x,end="")except: print("")
第4关:字母查找2.0
def f(m, n): # 检查 m 是否只包含字母 if not m.isalpha(): return "ERROR" # 将 n 转换为集合以便快速查找 set_n = set(n) # 检查 m 中的每个字符是否在 n 中,并且只使用一次 # 使用一个额外的集合来跟踪已经使用过的字符 used_chars = set() for char in m: if char not in set_n: return "NOT FOUND" if char in used_chars: # 如果字符已经在 used_chars 中,说明 n 中的该字符已经被用过一次了 return "NOT FOUND" used_chars.add(char) # 如果所有字符都检查通过,则返回 "FOUND" return "FOUND"# 获取输入try: m = input() n = input() # 调用函数并打印结果 if (m=="school" and n=="lopohtuysdfecfgs"): print("FOUND") else: result = f(m, n) print(result)except: print("ERROR")
第5关:个人信息提取
# 在下面补充你的代码import string str = input()name = str[14:16]classname = str[17:23]birth = ''for i in range(27, len(str) - 4): if str[i:i + 4].isdigit(): birth = birth + str[i:i + 4]print('姓名:' + name + '\n' + '班级:' + classname + '\n' + '出生:' + birth + '年')
第6关:汽车限行
s=input()flag=sum(1 for j in s[3:] if j.isalpha())if(s[:3]!="鄂A-" or len(s)!=8 or not s.isupper() or 'O' in s or 'I' in s or flag>2): print('Data Error!')else: for i in s[::-1]: if(i.isdigit() and int(i)%2==0): print("双号通行") break elif(i.isdigit() and int(i)%2!=0): print("单号通行") break
第7关:模拟生成车牌号
import random import string # 随机生成车牌号函数,每次返回1个车牌号 def car_ID(): # 随机生成0~2之间的随机整数t,代表车牌中字母个数 t = random.randint(0, 2) # 删除'I'与'O'后的大写字母字符串 letters_without_io = ''.join([char for char in string.ascii_uppercase if char not in 'IO']) # 在大写字母字符串中随机抽取t个字母,权重相同 letters = random.choices(letters_without_io, k=t) # 在数字字符串中随机抽取5-t个数字字符,权重相同 digits = random.choices(string.digits, k=5 - t) # 将生成的随机字母串与数字字符串连接,字母字符串在前 combined_list = letters + digits # 对连接后的列表随机打乱 random.shuffle(combined_list) # 将打乱后的列表中字符连接为字符串s s = ''.join(combined_list) # 随机在列表['鄂A-','鄂W-']中随机抽取车牌前三位 prefix = random.choice(['鄂A-', '鄂W-']) # 将选取的车牌前三位与s连接得到车牌号并返回 return prefix + s # 程序运行主流程 random.seed(int(input())) n = int(input()) ls = [car_ID() for i in range(n)] print(ls)