当前位置:首页 » 《关注互联网》 » 正文

python头歌实验五作业_3.1(hbut)

0 人参与  2024年12月16日 08:02  分类 : 《关注互联网》  评论

点击全文阅读


第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)


点击全文阅读


本文链接:http://zhangshiyu.com/post/201835.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1