python基础~2(字符串)

上期作业:

>>> t=0
>>> while t < 3:
	user=input('>>>')
	pwd=input('>>>')
	if user=='lia' and pwd=='123':
		print('欢迎登陆!')
		break
	else:
		print('请重新登陆!')
	t+=1

% 取余 //取商 **次方
and 与
or 或
not 非
in 在里面,可以赋值,结果布尔值
not in 不在,可以赋值,结果布尔值

数字
字符串
布尔值:True,False
v=1==2
print(v)
为:False
==、>=、<=、!= 不等于、<> 不等于
not False
not True

AttributeError:‘int’ object has no attribute ‘upper’
int没有这个属性,也就是没有这个方法

python3:整型都是int;python2:整型是int\long int

需要知道int有哪些魔法方法:在pycharm里,Ctrl+点击int

**

注释代码

**:快捷键:Ctrl+/
取消注释的代码也是一样

# v=1==2
# print(v)

直接强制转换

a='123'
b=int(a)
print(b)

以二、八、十六进制的形式转换:

num='0011'
v=int(num,base=2)
print(v)
num1='0011'
v1=int(num1,base=8)
print(v1)

Alt + Enter 快速修正
Ctrl + Alt + L 代码格式化
Ctrl + Alt + I 自动缩进
Shift + F10 运行
pycharm快捷键、常用设置、配置管理

字符串

def center(self, width, fillchar=None)
s.center(20),self定义时必须要,调用时忽略,单独的一个变量width是需要带的,带了=的可以不用,就像修饰,你不设定时人家有默认的~

t='你是风儿我是沙'
v=t.center(20,'-')
print(v)
v2=t.rjust(20,'*')#左边加
print(v2)
v3=t.ljust(20,'*')#右边边加
print(v3)

s='ahhhhhha'
v=s.count('h')
v1=s.count('h',3)
v2=s.count('h',5,6)
print(v,v1,v2)
test='lia'
v=test.endswith('ia')
print(v)
# t='i am {0},age {1}'
# v=t.format('lia','18')
# print(v)

# t='i am {name},age {a}'
# v=t.format(name='lia',a='18')
# print(v)

t='i am {n},age {a}'
v=t.format_map({'n':'lia','a':18})
print(v)
v1=t.find('8')#找不到时报-1
v2t.index('8')#找不到直接报错

所以一般用find

n='ab\tb\tc\n1\t12\t23\n2\t22\t21\n'
v=n.expandtabs(6)#空格补齐
print(v)

结果:

ad    b     c
1     12    23
2     22    21

join:指定字符分割

t='你是风儿我是沙'
print(t)
s=' '
v=s.join(t)
print(v)
v1='/'.join(t)
print(v1)

lower:小写

s='LjKKUYhijOPO'
print(s.lower(),s.islower())

title:标题

# t="Process finished with exit code"
# v=t.istitle()
# print(v)
# v1=t.title()
# print(v1)
# v2=v1.istitle()
# print(v2)

strip:

只去除两端的\t、\n、space、指定字符

s='KLjKKU  YhijOPO   '
print(s.lower(),s.islower())
print(s)
print(s.strip())
v=s.strip('K')
print(v)

translate:

指定换字符

t='ashdjriejou'
tran=str.maketrans('aeiou','12345')
v=t.translate(tran)
print(v)

split:分割

t='ashdjriejou'
v=t.split('j',1)
print(v)
>>>['ashd', 'riejou']

splitlines:

以换行符分割

t='ash\ndjri\nejou'

v=t.splitlines()
print(v)

upper:大写

v=t.upper()
print(v)

swapcase:

大写-》小写;小写-》大写

t='ash\ndjri\nejOYHTG'
v=t.swapcase()
print(v)
>>>ASH
   DJRI
   EJoyhtg
# test='   '
# v=test.isspace()
# print(v)

# t="Process finished with exit code"
# v=t.istitle()
# print(v)
# v1=t.title()
# print(v1)
# v2=v1.istitle()
# print(v2)

# t='你是风儿我是沙'
# print(t)
# s=' '
# v=s.join(t)
# print(v)
# v1='/'.join(t)
# print(v1)
#
# v2=t.rjust(20,'*')#左边加
# print(v2)
# v3=t.ljust(20,'*')#右边边加
# print(v3)
# s='KLjKKU  YhijOPO   \n'
# print(s.lower(),s.islower())
# print(s)
# print(s.strip())
# v=s.strip('K')
# print(v)
#print(s.lstrip(),'1',s.rstrip(),'1',s.strip(),'1')
# t='ash\ndjri\nejOYHTG'
# tran=str.maketrans('aeiou','12345')
# v=t.translate(tran)
# print(v)

# v=t.split('j',1)
# print(v)
# v=t.splitlines()
#
# v=t.upper()
# v=t.swapcase()
# print(v)

# t='if'
# v=t.isidentifier()
# print(v)

# a='alssss'
# b='blaass'
# print(a[3])
# print(a[-1])
# print(a[0:-1])
# print(len(a))
# print(a+b)
#一个汉字3个字节
# 中文汉字:
# 字节数 : 2;编码:GB2312
# 字节数 : 2;编码:GBK
# 字节数 : 2;编码:GB18030
# 字节数 : 1;编码:ISO-8859-1
# 字节数 : 3;编码:UTF-8
# 字节数 : 4;编码:UTF-16
# 字节数 : 2;编码:UTF-16BE
# 字节数 : 2;编码:UTF-16LE
# c=[1,2,1,1]
# print(len(c))
# index=0
# while index<len(c):
#     print(c[index])
#     index+=1

# for i in c:
#     print(i)
#字符串一旦创建,不可修改
#一旦修改拼接,都会创造新的字符串
# print(a.replace('ss','bbb'))
# print(a.replace('ss','bbb',1))
#关于字符串的直接‘修改’,会报错
#字符串直接修改会报错

s='you and you'
s[0]='i'
s[0:2]='me'
print(s)
#TypeError: 'str' object does not support item assignment

#
# test='一个汉字的字节数 : 3;编码:UTF-8'
# for i in test:
#     print(i)
#     break
# s=range(5)
# print(s)
# for i in range(5):
#     print(i)
# t=input('>>>')
# for i in t:
#     print(i)
# l=len(t)
# for i in range(len(t)):
#     print(i,t[i])
# print(range(1, 10, 2))
# # 结果:[1, 3, 5, 7, 9]
# n1=input('第一个数:')
# n2=input('第二个数:')
# # 错误的示例:print(n1,n2)
# d=int(n1)
# f=int(n2)
# s=d+f
# print(s)
# print(int(n1)+int(n2))
def check_code():
    import random
    checkcode=''
    for i in range(4):
        current=random.randrange(0,4)
        if current != i:
            temp = chr(random.randint(65,90))
        else:
            temp = random.randint(0,9)
        checkcode +=str(temp)
    return checkcode
while True:
    user = input('用户名:')
    pwd = input('密码:')
    code=check_code()
    print(code)
    ic=input('请输入验证码:')
    if ic==code:
        print('欢迎登陆!')
        break
    else:
        print('验证码错误,请重新输入!')

7个基本魔法

join # ‘_’.join(“asdfasdf”)
split
find
strip
upper
lower
replace

4个灰魔法

注意:
len(“asdf”)
for循环
索引
切片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值