時光很短暫

导航

 

练习题

编写用户登录程序 温馨提示:
     ⽤户名与密码来源于字符串source_data = 'jason|123'
     想办法从中拆分出⽤户名和密码用于后续账户信息⽐对 
     普通要求:
          1.验证失败情况下可⼀一直循环验证 成功则直接退出 
     拔高练习:
          1.只允许三次失败机会 
          2.登录成功后进⼊入内层循环,用户输⼊任何指令利⽤格式化输出 打印正在执行该⽤户指令即可,直到⽤户输⼊字⺟q退出内层循环
        

source_data = 'jason|123'
# 定义一个变量,记录每次输错的次数
count = 0

while count<3:
    # 1. 让用户输入用户名和密码
    username = input('请输入用户名:').strip()
    password = input('请输入密码:').strip()

    # 2. 需要把source_data拆分出来
    real_username, real_password = source_data.split('|')  # ['jason', '123']
    # data = source_data.split('|')  # ['jason', '123']
    # real_username = data[0]
    # real_password = data[1]

    # 3. 比对用户名和密码
    if username == real_username and password == real_password:
        print('登录成功')
        while True:
            cmd = input('请输入你的指令:').strip()
            print('正在执行你的指令:%s' % cmd)
            if cmd == 'q':
                break

    else:
        print('用户名或者密码错误')
        count += 1

字符串的内置方法

# 如何查看字符串类型与那些方法?句点符 .

# 1. 把字符串转为全大写
string = 'jaSON123ly'
#
# print(string.upper())  # JASON123LY

# 2. 把字符串转为全小写
# print(string.lower())  # jason123ly

# 3. 判断以指定字符开头和结尾
# print(string.startswith('ja'))
# print(string.startswith('jaS'))

# 4. 是否以某字符结尾
print(string.endswith('y'))
print(string.endswith('ly'))
print(string.endswith('123lyss'))

# 小案例:
old_code = 'jaSO'
print('返回给用户的验证码是:%s' % old_code)

new_code = input('请输入验证码:').strip()

# if old_code.upper() == new_code.upper():
if old_code.lower() == new_code.lower():
    print('验证码正确')
else:
    print('验证码错误')
    
'''format的使用'''
# 第一种玩法:
# s = 'my name is {}, my age is {}'
# print(s.format('ly', 18))

# 第二种玩法:
# s = '{0} my name is {1}, my age is {0}, {1}, {1}, {0}, {2}'
# print(s.format('ly', 18, 'male', ))

# 第三种玩法:
s = ' my name is {name}, my age is {age}, {name}, {name}, {age}'
print(s.format(name='ly', age=18))
 
# 使用逗号分割一下列表数据,'ly,jason,tom,kevin'
name_list = ['ly', 'jason', 'tom', 'kevin']
s1 = name_list[0]
s2 = name_list[1]
s3 = name_list[2]
s4 = name_list[3]

print(s1 + ',' + s2 + ',' + s3 + ',' + s4 )
print(','.join(name_list))

# 替换字符串 replace
# s = 'my name is ly ly ly ly'
#
# print(s.replace('ly', 'jason', 1))

# 面试题:如何交互两个变量?
# 1. 借助于第三个变量
m = 'hello'
n = 'world'

# tmp = m
# m = n
# n = tmp

# m, n = n, m
s = m + n  # helloworld
m = s.replace('hello', '')
n = s.replace('world', '')
print(m, n)

# num = '12345abc'
# print(num.isdigit())

age = input('请输入你的年龄:').strip()
if age.isdigit():
    print('全是数字')
else:
    print('不全是数字')


# 了解
s = 'helloworldworldworld'
# print(s.find('hw')) # 可以找到字符所在的索引位置, 如果找不到返回-1
# print(s.find('w'))
# print(s.find('world'))

# print(s.index('hw')) # 找不到直接报错
# print(s.index('w'))

# print(s.count('l'))
# print(s.count('world')) # 统计一个字符在另外一个字符重存在的次数

# s1 = 'jason'
# print(s1.center(14, '='))
# print(s1.ljust(15, '*'))
# print(s1.rjust(15, '*'))
# print(s1.zfill(15)) # zero
s2 = 'my name is ly, JASon'
print(s2.capitalize()) # My name is ly 首字母转大写
print(s2.swapcase()) # 大小写互换
print(s2.title()) # 每个单词的首字母大写

列表的内置方法

关键字:list
类型转换
# print(list(123)) # 不行
# print(list(1.11))# 不行
# print(list('hello')) # ['h', 'e', 'l', 'l', 'o']
# print(list([1, 2, 3 ]))
# print(list({'username': 'ly', 'age': 18})) # ['username', 'age']
# print(list((1, 2, 3)))  # [1, 2, 3]
print(list({1, 2, 3, 4}))  # [1, 2, 3, 4]

# 1. 修改
# name_list = ['ly', 'tom', 'jason']
# print(name_list[0])
# print(name_list[1])
# print(name_list[2])

# name_list[0] = 'hahahh'
# name_list[2] = 'hehihehi'
# name_list[6] = 'hehihehi'
# print(name_list)

# 2. 添加:第一种方式
# name_list = ['ly', 'tom', 'jason', ]
# 末尾添加, 把括号中的元素当成一个整体添加到末尾
# name_list.append(666)
# name_list.append([1, 2, 3, 4])
# print(name_list)

# 2.1 添加:第二种方式 把括号中的元素当成一个整体添加到索引位置
# name_list.insert(0, 'haha')
# name_list.insert(2, 'haha')
# name_list.insert(6, 'haha')
# name_list.insert(1, [1, 2, 3, 4])
# print(name_list)

# 2.2 添加:第三种方式, 合并两个列表

# name_list.extend([1, 2, 3 ,4])
# print(name_list)

name_list = ['ly', 'tom', 'jason', ]
l = [1, 2, 3, 4]
for i in l:
    name_list.append(i)

print(name_list)

# 列表的删除
# 列表的删除
name_list = ['ly', 'tom', 'jason', 'haha']
# 第一种方式:
# del name_list[0]
# print(name_list)

# 第二种方式:
# name_list.remove('jason')
# print(name_list)
print(name_list.remove('jason'))  # None
# 第三种方式:弹出元素
# name_list.pop(2)  # 括号里面写索引值
# name_list.pop()     # 删除最后一个元素
# print(name_list)
# print(name_list.pop(1))

可变与不可变类型

s = 'my name is ly'
# s1 = s.title()
# print(s1)
# print(s)

name_list = ['tom', 'jason']
print(name_list.append(666))
print(name_list)

#
'''
    可变类型:列表,字典
        值改变了,内存地址不改变,
    不可变类型:数字,字符串,元组
        原值不变,内存地址改变,其实就是产生了新的值
'''

 

# 对字典进行操作时,值改变的情况下,字典的id也是不变,即字典也是可变数据类型

队列与栈

# 队列:先进先出

# 栈:  栈就是一个桶,后放进去的先拿出来,它下面本来有的东西要等它出来之后才能出来(先进后出)

 

posted on 2021-12-29 14:50  時光很短暫  阅读(63)  评论(0)    收藏  举报