1、# 模拟用户登录 有三次机会 超过了 提示用户是否继续
from_db_username = 'yang'
from_db_password = 121
n = 0
while True:
if n == 3:
cmd = input('是否继续输入Y/N:')
if cmd == 'Y':
n = 0
else:
print('欢迎下次光临')
break
username = input('请输入用户名:')
password = input('请输入密码:')
if username == from_db_username and password == from_db_password:
print('登陆成功!')
break
else:
n += 1
2、打印金字塔
max_level = 5
* current_level = 1 空格数4个 信号1个
*** current_level = 2 空格数3个 信号3个
***** current_level = 3 空格数2个 信号5个
******* current_level = 4 空格数1个 信号7个
********* current_level = 5 空格数0个 信号9个
# max_level = 10
# for current_level in range(1,max_level+1):
# # 打印空格
# for i in range(max_level-current_level):
# print(' ',end='')
# # 打印信号
# for j in range(2*current_level-1):
# print('*',end='')
# print()
运行结果:
*
***
*****
*******
*********
3、# 整型(int):
age = 18 # age = int(18)
# int('dsjfjdsf')
# int('1.1') # int只能转纯数字的字符串,小数点都不行
4、# 进制转换
# 其他进制转10进制
# 二进制转十进制 0,1
# 10 # 1*(2**1) + 0*(2**0) 2
# 八进制转十进制 0-7
# 235 # 2*(8**2) + 3*(8**1) + 5*(8**0)
# 十六进制转十进制 0-9 A-F
# 217 # 2*(16**2) + 1*(16**1) + 7*(16**0)
# print(int('1100',2)) # int可以传第一个参数,表示的是第一个参数到底是什么进制 然后转成十进制
# print(int('14',8))
# print(int('c',16))
# 10进制转其他进制
# 10进制转二进制
# print(bin(12)) # 0b1100 0b表示后面的数字是二进制数
# 10进制转八进制
# print(oct(12)) # 0o14 0o表示后面的数字是八进制数 14 >>> 1*(8**1) + 4*(8**0))
# 10进制转16进制
# print(hex(12)) # 0xc 0x表示后面的数字是十六进制数
常用操作+内置的方法
#======================================该类型总结====================================
#存一个值
#有序or无序
# 有序:但凡有索引的数据都是有序的
#不可变
# 可变类型与不可变类型
"""
可变类型:值改变的情况下,id不变,说明你改的是原值
不可变类型:值改变的情况下,id一定变
x = 10
print(id(x))
x = 11
print(id(x))
运行结果:
1381265152
1381265184
说明int型为不可变型
字符串:
s = 'hello baby' # str('hello baby')#代表的省略的代码
s1 = str([1,2,3,4])
print(type(s1)) #说明列表可以转化为字符串
s2 = str({'name':'jason','password':123})
print(type(s2)) #说明字典也可以转化为字符串
运行结果:
<class 'str'>
<class 'str'>
切片(顾头不顾尾,步长):从一个大的字符串中截取一段新的小字符串
# 左边的固定就是头,右边固定就是位 没有说按数字来分头尾
# print(s[0:5]) # hello
# print(s[0:10:1]) # hello 步长不写默认是1
# print(s[0:10:2]) # 步长表示隔几个取一个
# 了解负数取值
print(s[-1])
print(s[0:5:-2]) # 切片取值默认是从左往右的
print(s[5:0:-1]) # 切片取值默认是从左往右的
print(s[-1:-10:-1])
#5、去掉字符串左右两边的字符strip,不管中间的
# name3 = '$$$$$eg$on$$$$'
# print(name3.strip('$'))
运行结果:
eg$on
#6、切分split:针对按照某种分隔符组织的字符串,可以用split将其切分成列表,进而进行取值
str1 = 'yang*yong*jun'
print(str1.split('*'))
运行结果:
['yang', 'yong', 'jun']
startswith # 判断字符串是否以什么什么开头
endswith # 判断字符串是否以什么什么结尾
str2 = 'yang'
print(str2.startswith('y'))
print(str2.endswith('g'))
运行结果: