注释
单行注释 #
多行注释 ''' 三个单引号或者三个双引号 """
''' 用三引号引住可以多行赋值
用户交互 input
字符串拼接
+ ""%() "".format()推荐使用
name = input("name:")
age = int(input("age:"))
sex = input("sex:")
例:+
# 字符串拼接+
info1 = '''----info in ''' + name + '''---
name:''' + name + '''
age:''' + age + '''
sex:''' + sex + '''
例:""%()
# %格式化字符串
info = '''------info in %s -------
name:%s
age:%d
sex:%s
''' % ("name", "name", age, "sex")
#"".format()
字符串格式化 format []都是可选的,可填可不填
格式:[[fill][align][sign][#][0][width][,][.precision][type]
fill 填充字符
align 对齐方式
^ 居中 s = "{:-^20d}".format(20) -----20-----
< 内容左对齐 s = "{:-<20d}".format(20) 20----------
> 内容右对齐 s = "{:->20d}".format(20) ----------20
= 内容右对齐,将符号放在填充字符的左侧,只对数字有效
sign 有无符号数字(感觉用处不大)
+ 正数加+ 负数加- s = "{:+d} this is Numbers".format(-20) -20
- 正数不变 负数加- s = "{:-d} this is numbers".format(23) 23
空格 正数空格 负数加- s = "{: d} this is numbers".format(23) 23
# 对数字有效,对于二、八、十六进制,会对应显示 0b 0o 0x s = "{:#0x}".format(213)
width 格式化字符宽度 s = "{:-^20d}".format(20)
, 对大的数字有效,添加分隔符 如1,000,000 s = "{:,d}".format(2000000000) 2,000,000,000
.precision 小数位保留精度 s = "{:.2f}".format(12.2323) 12.23
type 格式化类型
s 字符串 s = "this is {}".format("string")
b 十进制转二进制表示 然后格式化 s = "{:d}".format(23) 10111
d 十进制
o 十进制转八进制表示 然后格式化 s = "{:o}".format(23) 27
x 十进制转十六进制表示 然后格式化 s = "{:x}".format(23) 17
f 浮点型 默认小数点保留6位
% 显示百分比 默认小数点后6位 s = "{:.2%}".format(0.1234)
参数可用[]及{} ,使用时必须加*,**
s = "my name is {},age is {}".format(*["niu", 25])
s = "my name is {name}, age is {age}".format(**{"name": "niu", "age": 25})
info3 = '''---info in {_name}---
name:{_name}
age:{_age}
sex:{_sex}
'''.format(_name=name,
_age=age,
_sex=sex)
info4 = '''---info in {0}---
name:{0}
age:{1}
sex:{2}'''.format(name, age, sex)
模块定义:
密文密码:getpass 引用后使用,getpass.getpass()
if else 使用
例:
username = "username"
password = "123456"
_Username = input("Username:")
_Passwd = input("Password:")
if username == _Username and password == _Passwd:
print("welcome user {name} to beij".format(name=username))
else:
print("Invalid username or passwd")
if elif else
例:
Myage = 37
InputAge = int(input("please input my age:"))
if InputAge == Myage:
print("It's right")
elif InputAge > Myage:
print("Think small")
else:
print("Think big")
While else 循环
count = 0
while count < 3:
Myage = 37
InputAge = int(input("please input my age:"))
if InputAge == Myage:
print("It's right")
break
elif InputAge > Myage:
print("Think small")
else:
print("Think big")
count+=1
else:
print("fuck you!")
break 跳出当前整个循环
continue 跳出当前循环,进入下次循环
编写登陆接口
输入用户名密码
认证成功后显示欢迎信息
输错三次后锁定
old_uname = open(r'C:\Users\Administrator\Desktop\username.txt', 'r').readlines()
count = 0
while count < 3:
username = input("please your username:")
passwd = input("please your passwd:")
for i in old_uname:
if i == username:
print("wolcome to your blogs:{_uname}".format(_uneme=username))
break
else:
continue
else:
count += 1
if count == 3:
continue
print("The password you entered is incorrect!please input again...")
else:
print("三次错误,账号已锁定")
open(r'C:\Users\Administrator\Desktop\lockname.txt', 'a').write(username + '\n')
字符串基础
#字符串操作
#去掉空格 strip () 括号内可指定 默认是空格
username = input("username:")
if username.strip('-') == "zhang":
print(username.strip('-'))
print("welcome %s to beijing" % username)
# 分割 split 可指定根据什么分割
list11 = "welcome to beijing"
list2 = list11.split()
print(list2) # ['welcome', 'to', 'beijing']
# 合并 join 可指定根据什么合并
list3 = ":".join(list2) + '\n' # welcome:to:beijing
list4 = " ".join(list2) # welcome to beijing
print(list3, list4)
# 判断有没有空格\切片
name = "mr,niu"
print("," in name)
name1 = "mr niu"
print(" " in name1)
print(name[2:4])
# format 字符串格式化
men = "my name is {name}, age is {age}"
all = men.format(name="niu", age=23)
men1 = "my name is {0}, age is {1}"
all1 = men1.format("niu", 23)
print(all1)
fill = "niu"
fill.isdigit() # 判断是不是数字
fill.endswith('') # 判断是不是以指定字符串结尾
fill.startswith('') # 判断是不是以指定字符串开头
fill.upper() # 批量转换成大写
fill.lower() # 批量转换成小写
fill.capitalize() # 第一个字母大写,其他都小写
fill.title() # 每个单词的首字母大写,其他都小写
print(fill.center(20, '='))
(1)、转义字符串
(2)、raw字符串--转义机制 open(r'c:\tmp\a.txt','a+')
(3)、Unicode字符串
(4)、格式化字符串 "age %d,sex %s,record %m.nf"%(20,"man",73.45)
字符串基础操作
+ 连接 、* 重复、s[i] 索引(index)、s[i:j] 切片(slice)、for循环遍历