string formating字符串格式化,function函数,group组,recursion递归,练习
# -*- coding: UTF-8 -*-
msg = 'i am {} my hobby is {}'.format('lhf',18)
print(msg) msg1 = 'i am %s my hobby is %s' % ('lhf',[1,2])
print(msg1) name='lhf'
age=18
msg2 = 'i am %s my hobby is %s' % (name,age)
print(msg2) tpl = 'percent %.2f %%' % 99.9762333333333
print(tpl) tpl1 = 'i am %(name)s age %(age)d' % {'name':'alex','age':18}
print(tpl1) msg3 = 'i am %(name)+60s my hobby is alex' % {'name':'lhf'}
print(msg3) msg4 = 'i am \033[43;1m%(name)+60s\033[0m my hobby is alex' %{'name':'lhf'}
print(msg4) #print('root','x','0','0',sep=':') #结果(root:x:0:0) print('root'+':'+'x'+':'+'','') #结果('root:x:0', '0') result:
i am lhf my hobby is 18
i am lhf my hobby is [1, 2]
i am lhf my hobby is 18
percent 99.98 %
i am alex age 18
i am lhf my hobby is alex
i am [43;1m lhf[0m my hobby is alex
('root:x:0', '')
# -*- coding: UTF-8 -*-
name = '海风'
def huangwei():
name = '黄伟'
print(name)
def liuyang():
name = '刘洋'
print(name)
def nulige():
name = '炉指花'
print(name)
print(name)
nulige()
liuyang()
print(name)
print(name)
huangwei()
print(name) result:
海风
黄伟
刘洋
刘洋
炉指花
黄伟
海风
# -*- coding: UTF-8 -*-
def calc(n):
print(n)
if int(n/2) == 0:
return n
res = calc(int(n/2))
return res
calc(20) result:
20
10
5
2
1
集合特点:
1.由不同元素组成
2.集合无序
3.集合元素是不可变类型,包括(数字,字符串,元祖
#交叉补集
python_l = ['lcg','szw','zjw','lcg']
linux_l = ['lcg','szw','sb']
p_s = set(python_l)
l_s = set(linux_l)
print(p_s.symmetric_difference(l_s))
print(p_s^l_s)
p_s.difference_update(l_s) #等同于p_s = p_s - l_s
print(p_s)
s1 = {1,2}
s2 = {2,3,5}
print(s1.isdisjoint(s2)) #判断两个集合是否包含相同的元素 #子集,父集
s1 = {1,2}
s2 = {1,2,3}
print(s1.issubset(s2))#s1是s2的子集
print(s2.issubset(s1))
print(s2.issuperset(s1))#s1是s2的父集
s1.update(s2)#更新多个值
# s1.add(1,2,3,4)#更新一个值
# s1.union(s2)#不更新
print(s1)
s = frozenset('hello')#两种字典类型的区别
s5 = set('hello')
print(s,s5)
names = ['alex','alex','wupeiqi']
names = list(set(names))
print(names)
result:
{'zjw', 'sb'}
{'zjw', 'sb'}
{'zjw'}
False
True
False
True
{1, 2, 3}
frozenset({'e', 'o', 'l', 'h'}) {'e', 'o', 'l', 'h'}
['alex', 'wupeiqi']
可迭代类型:for循环可以遍历
函数形参与实参知识点:
位置参数(形如test(1,2,3)):实参和形参一一对应,缺一不行,多一也不行
关键字参数(形如test(x=1,z=3,y=2)):实参和形参无需一一对应,缺一不行,多一也不行
位置函数作为形参必须在关键字函数左边。
def test(x,*args) #*args用于函数扩展
模拟多级节点
方法一:
dic = {
'植物':
{'草本植物':
['牵牛花','瓜叶菊','葫芦','翠菊','冬小麦','甜菜'],
'水木植物':
['乔木','灌木','丰灌木','如松','杉'],
'水生植物':
['荷花','千屈菜','呂菊','黄奕菊','水葱','再力花','梭鱼草']},
'动物':
{'两栖动物':
['山龟','山鳖','石蛙','娃娃鱼','蟾蜍','龟','鳄鱼','蜥蜴','蛇'],
'禽类':
['知鸡','原鸡','长鸣鸡','昌国鸡','斗鸡','长尾鸡','乌骨鸡'],
'哺乳类动物':
['虎','狼','蛇','鹿','貂','猴','树懒','斑马','狗']}}
li = []
bool = True
while bool:
bool1 = True
for i,v in enumerate(dic,1):
print(i,v)
li.append(v)
print('要添加新种类请输入i,否则输入对应下一级数字查看菜单')
u_c = input('>>>')
if u_c.isdigit(): #数字用来选择
li1 = []
while bool:
u_c = int(u_c)
for j,k in enumerate(dic[li[u_c-1]],1):
print(j,k)
li1.append(k)
u_c1 = input('>>>>')
if u_c1 == 'b':
li.clear()
break
while bool:
for x,y in enumerate(dic[li[int(u_c-1)]][li1[int(u_c1)-1]],1):
print(x,y)
u_c2 = str(input('>>>>>'))
u_c2 = u_c2.lower()
if u_c2 == 'b':
# bool = False
li1.clear()
break
elif u_c2 == 'q':
li.clear()
bool = False
break
else:
continue
elif u_c.isalpha(): #字母i用来添加新种类
if u_c == 'i'or u_c == 'I':
while bool1:
lx = str(input('类型:'))
if dic.get(lx,1) == 1: #得到lx中的字符串,如果该字符串在dic第一层中没有,则返回后面值‘1’
dic[lx] = {}
zl = str(input('种类:'))
if dic[lx].get(zl,1) == 1: #得到lx中的字符串,如果该字符串在dic第一层中没有,则返回后面值‘1’
dic[lx][zl] = []
while bool1:
mc = input('名称:')
if mc == 'b':
li.clear()
bool1 = False
break
elif mc == 'q':
bool = False
break
elif mc in dic[lx][zl]:
print('已经存在')
else:
dic[lx][zl].append(mc)
方法二:(编程思路来自老男孩郑建文老师)
db = {
'北京':{},
'上海':{
'虹口':{
'外国语':'小明',
'西藏北路':'布丁酒店',
'上海南站':'高铁'},
'宝山':{
'大场':'蹦迪',
'上海大学':'钱伟长'},
'闵行':{
'上海交大':'闵行校区'
}
}
}
path = []
while True:
temp = db
for item in path:
temp = temp[item]
print('当前可选的所有子节点:',list(temp.keys()))
choice = input('1:添加节点; 2:查看节点(Q/B);\n >>>')
if choice == '':
name = input('请输入要添加的节点名称')
temp[name] = {}
elif choice == '':
name = input('请输入要查看的节点名称:')
path.append(name)
elif choice.lower() == 'b':
if path:
path.pop()
elif choice.lower() == 'q':
break
else:
print('输入错误,请重新输入。')
string formating字符串格式化,function函数,group组,recursion递归,练习的更多相关文章
- Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助
Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助 目录 Pychar ...
- string.Format字符串格式化说明(转)
string.Format字符串格式化说明 www.111cn.net 编辑:Crese 来源:转载 先举几个简单的应用案例: 1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统 ...
- 通过Oracle函数SQL实现C# String.Format字符串格式化功能
语言国际化要求,开发上要求Oracle数据库SQL中对应的返回信息-Message,实现一个通用函数调用,比如:提示信息内容:条码123456当前工站在FCT!”,即通用的信息内容格式化标准为:“条码 ...
- 【笔记】Python基础二:数据类型之集合,字符串格式化,函数
一,新类型:集合 集合出现之前 python_l = ['lcg','szw','zjw'] linux_l = ['lcg','szw','sb'] #循环方法求交集 python_and_linu ...
- Python3之字符串格式化format函数详解(上)
概述 在Python3中,字符串格式化操作通过format()方法或者f’string’实现.而相比于老版的字符串格式化方式,format()方法拥有更多的功能,操作起来更加方便,可读性也更强.该函数 ...
- Python: 字符串格式化format()函数的使用
python从2.6开始支持format,新的更加容易读懂的字符串格式化方法,从原来的% 模式变成新的可读性更强的 花括号声明{}.用于渲染前的参数引用声明, 花括号里可以用数字代表引用参数的序号, ...
- Day5 双层装饰器、字符串格式化、生成器、迭代器、递归
双层装饰器实现用户登录和权限认证 #!/usr/bin/env python# -*- coding: utf-8 -*-# Author: WangHuafeng USER_INFO = {} de ...
- python3字符串格式化format()函数的简单用法
format()函数 """ 测试 format()函数 """ def testFormat(): # format()函数中有几个元素, ...
- string.Format字符串格式化说明
1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元) string.Format("{0:C}",0.2) 结果为:¥0.20 (英文操作系统结果:$0 ...
随机推荐
- EF连接Sqlserver2014,使用DBGeography时提示无法加载sqlserverspatial.dll
(1)确认你要使用的SqlServer版本,如果是2014,就要在nuget中添加microsoft.sqlserver.types.dll,使用12.0.4100.1这个版本,它会自动添加sqlse ...
- SAP 多语言文本翻译
SAP自己的东西都是有语言包的,针对很多语言有是有对应文本的翻译,巴特,比较不是专业的翻译,多以很多时候还是有这样那样的文本描述需要调整. 语言包怎么打就不说了,也不知道,知道也没打过... 标准界面 ...
- NopCommerce 更改发票字体
NopCommerce 默认是用~/App_Data/Pdf/FreeSerif.ttf 这个字体的. 用这个字体,发票里的中文不能显示. 可以把c:\windows\font\simhei.ttf ...
- 超简单的实现wordcount
worcount1.0,源码参见GitHub:https://github.com/18382271904/spring_lee_flag.git
- hadoop fsck详解
我们知道fsck是用来检测hdfs上文件.block信息的,但是fsck输出的结果我们是否能看明白呢? 下面我们来看一个fsck输出的结果 hadoop fsck / ############## ...
- 一月分四周的JAVA实现方法
需求:给定任意一个月,如何按照中国周的习惯,把一个月分成四个时间段 (1)以自然周为划分依据 (2)不能跨月 (3)把首尾自然周,天数较少的合并到其最近的自然周里面 (4)最后结果应该是吧一个月分成四 ...
- Android开发 ---SQLite数据库,lock文件,结果集游标,适配器,安全退出,给连接设置下划线,编辑器,投影,ContentValues存储,DbHelper,activity栈
目录截图: 1.activity_main.xml 主界面效果: <?xml version="1.0" encoding="utf-8"?> &l ...
- History of program(1950-2020)
1957年 约翰·巴科斯(John Backus)创建了是全世界第一套高阶语言:FORTRAN. John Backus 1959年 葛丽丝·霍普(Grace Hopper)创造了现代第一个编译器A- ...
- React项目新手指南
对于程序员而言:驼峰和下划线之间是一场宗派战争:大括号是否换行会成为一种党派:逗号写在行尾还是行首的人来自不同星球…… 然而,无规矩不成方圆,任何一个团队,要想有高质量的产出,第一步必须要对一些基本的 ...
- CSS精简工具——除去多余的css样式
有时候开发网页中在改版之后,存在很多无意义的样式,对于后期的管理和维护很不友好. 如果手动去删除,很可能会导致出现更混乱的问题. 最近找到一个Chrome插件,CSS remove and combi ...