Python day04

Python day04

今天学习了字符串内置函数以及列表的创建与使用

字符串能支持符号:

     + : str + str
      * : str * 5
      in : 内容 in 字符串  ---bool
      is : 两个字符串判断地址是否相等
      == : 比较内容
      [] : 下标或者切片 s[0]  s[:5]
      % : 字符串的格式化
               '名字:%s' % name

字符串的内置函数

  • is upper() //是否大写,upper()会使字母大写,有数字时只会使字母大写

  • is lower() //是否小写,lower()会使字母小写,有数字时只会使字母小写

  • is digit() //是否为全数字

  • is alpha() //是否为全字母

  • startswith() //是否以’'开头

  • endswoth() //是否以’'结束

s='abcdefg'
print(s.isupper()) //False
print(s.islower())//True
print(s.isdigit())//False
print(s.isalpha())//True
print(s.startswith('a')) //True
print(s.endswith('g'))//True
print(not s.endswith('g'))//False
print(s.endswith('fg'))//True

系统函数:

len(s) —》int型

对齐

  • center(width)

  • ljust(width)

  • rjust(width)

s='hello'
print(s.center(10))//  hello1  参数为宽度,在这个宽度里字符串居中
print(s.ljust(10))//hello1   参数为宽度,在这个宽度里字符串左对齐
print(s.rjust(10))//    hello1 参数为宽度,在这个宽度里字符串右对齐

格式化

  • format

  • %

name='孙悟空'
long=108000.00
print('{}翻译个筋斗能走{}米'.format(name,long))//参数是什么类型,format就会返回什么类型
print('%s翻译个筋斗能走%.2f米'%(name,long)) //%要对应自身的类型

去空格

  • strip()//去除两边的空格

  • lstrip()//去除左边的空格

  • rstrip()//去除右边的空格

a='   sas    '
print(a.strip())//sas
print(a.lstrip())//sas1111   1指空格
print(a.rstrip())//   sas

控制小数点位数: {:.2f} 保留两位 {:.0f} 不带小数.

系统内置方法

查找:

从左向右找字符

index: 没有找到报错

find 没有找到返回-1

两者都是返回要查找的内容的下标位置

## 从右向左查找字符

## rindex right index 没有找到报错

## rfind 没有找到返回-1

s = r'C:\Users\running\Desktop\GP2Day4\代码\day4_strAndList\homework1.py'
index = s.rfind('\\')//转义字符
print(index)//51

替换:

replace(old,new,count): 表示用new的替换旧的字符,默认有多少替换多少

s = '苍井空很漂亮'
s = s.replace('苍井空', '***')
print(s)

分割:

split(‘分隔符’,[最大切割次数]) 返回分割后的***列表***,如果没有指定最大切割次数,只要遇到分割符就分割

s = r'C:\Users\running\Desktop\GP2Day4\代码\day4_strAndList\homework1.py'
list1 = s.split('\\', 3)
print(list1)//['C:', 'Users', 'running', 'Desktop\\GP2Day4\\代码\\day4_strAndList\\homework1.py']

转换:

upper() 转大写

lower() 转小写

title() 每个单词的首字母大写

capitalize() 字符串的第一个单词的首字母大写

code = ''
base_str = '129fghj0qwertyASDFGHuiopa345678sdklzxcvbnmQWERTYUIOPJKLZXCVBNM'
for i in range(4):
    r = random.randint(0, len(base_str) - 1)
    code += base_str[r]
print('验证码是:', code)


s = 'yuxin is a handsome boy!'
s1 = s.title()
s = s.capitalize()
print(s)//Yuxin is a handsome boy!
print(s1)//Yuxin Is A Handsome Boy!

停车管理系统

简易版停车管理:

停车场最多停车数; max_car;
当前停车数;cur_car;
当前停车列表; car_list = []

停车:
1). 如果没有达到最多停车数,则允许停车;
2) 计入入场的时间,使用time.time()的到的是自1970年1月1日,00:00:00到现在的秒数
3) 显示剩余停车位数
出停车场:
1). 判断该汽车是否进入,如果进入,则增加car_list里面相关的信息;
2). 如果该汽车从未进入, 则通知联系管理员;
3). 计入出场的时间,使用time.time()的到的是自1970年1月1日,00:00:00到现在的秒数计时收费, 停车收费5元/小时;
4)显示剩余停车位数
查询:
判断是否车在此停车场中,如果在进场的时间是:xx:xx:xx (时:分:秒)
退出系统:
退出停车系统

import time
print('*******************停车管理***********************')
car_list = []  # 当前停车列表
cur_car = 0  # 当前停车数
# max_car = 100  # 停车场最多停车数
time_in = 0  # 入场时间
time_out = 0  # 出场时间
time_in_list = []  # 时间表
time_money_list = []  # 总秒数时间表
while True:
    choice = int(input('请输入选项1:入场停车(5元/h),2:出厂,3:查询,4:退出系统'))
    if choice == 1:
        # if max_car == 0:
        #     print('停车位已满,不能停车')
        while cur_car <= 100:  # 最多停100辆
            a = time.time()
            b = time.localtime(a)  # 当前时间
            car = input('请输入车牌号:')  # 车牌
            time_in = str(b.tm_hour) + ':' + str(b.tm_min) + ':' + str(b.tm_sec)
            time_in_list.append(time_in)
            # print('停车时间表:{}'.format(time_in_list))
            time_in_money = b.tm_hour * 60 * 60 + b.tm_min * 60 + b.tm_sec  # 入场时间总秒数
            time_money_list.append(time_in_money)
            car_list.append(car)
            cur_car += 1
            # max_car-=1
            print('{}停车成功'.format(car))
            # print('当前停车列表:{}'.format(car_list))
            print('剩余停车位数为:{}'.format(100-cur_car))
            break
        else:
            print('停车场已满')
            break
    if choice == 2:
        while True:
            car1 = input('请输入要出厂的车牌:')
            if car1 in car_list:
                print('{}出厂成功'.format(car1))
                index = car_list.index(car1)
                c = time.time()
                d = time.localtime(c)  # 当前时间
                time_out = str(d.tm_hour) + ':' + str(d.tm_min) + ':' + str(d.tm_sec)
                time_out_money = d.tm_hour * 60 * 60 + d.tm_min * 60 + d.tm_sec  # 出厂时间总秒数
                print('入场时间为:{}'.format(time_in_list[index]))
                print('出场时间为:{}'.format(time_out))
                count = (time_out_money - time_money_list[index]) / 3600  # 换算成小时差
                if count > 1:
                    money = count * 5
                elif count <= 1:
                    money = 5
                time_in_list.pop(index)
                print('收费为:{}元'.format(money))
                car_list.remove(car1)
                cur_car-=1
                # print('当前停车列表:{}'.format(car_list))
                break
            else:
                print('对不起,停车场无该车,请联系管理员')
                cur_car -= 1
                break
    if choice == 3:
        while True:
            car2 = input('请输入要查询的车号:')
            if car2 in car_list:
                print('该车在停车场内')
                break
            else:
                print('您没有停车,请联系管理员')
            break
    if choice == 4:
        print('退出系统')
        break

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值