最近开始整理python的资料,博主建立了一个qq群,希望给大家提供一个交流的平台 78486745 。
一、使用for循环实现简单功能
'''
乘法表
1--9乘法表
for循环实现数字遍历
'''
for i in range(1,10): # 行中
for s in range(1,i+1): # 列中
print('%s X %s=%s '%(s,i,s*i),end ='')
print()
'''
星星
实现星星以三角形排列
'''
for i in range(1,9): # 行
for s in range(len(range(1,9))-i):
print(' ',end ='')
for n in range(1,2*i): # 列
print('*',end = '')
print()
二、推导式:
列表推导式:
va=[rxp for out in list if (out 条件)]
获得两个列表交集
va3=[10,20,30,40]
va4=[20,30,50,60,70]
Va5=[ num for num in va3 if num in va4 ]
获得并集
va6=[ num for num in va3 if num not in va4 ]
print(va6)
print(va4+va6)
获得差集
va7=[ num for num in va4 if num not in va3 ]
print(va7)
获得0-99之间的 奇数的二倍值
va2=[i*2 for i in range(100) if i%2!=0 ]
print('va2,',va2)
生成器 对象(元组推导式):
gen=( i for i in range(5))
print(gen)
# for i in gen:
# print(i)
三,同样要求的三种不同解决方式
'''
统计字符串中数字和字母的个数
1.使用异常处理非数字 try...except
2.使用内置函数判定非数字 isdigit()
3.使用字符转换判断数字字母范围。
ord() 字符转ascii码 chr() ascii码转字符
'''
str_for = 'adashgdkahfqa223354564'
num = 0
str_num = 0
'''
第一种
'''
for i in str_for:
try:
int(i)
num +=1
except ValueError:
str_num +=1
print('数字:',num,'\n''字母:',str_num)
'''
第二种
'''
num1 = 0
str_num1 = 0
for i in str_for:
if i.isdigit() == True:
num1 +=1
else:
str_num1 +=1
print('数字:',num1,'\n''字母:',str_num1)
'''
第三种
'''
num2 = 0
str_num2 = 0
for i in str_for:
if ord('0') < ord(i) <ord('9'):
num2 +=1
elif ord('a') <= ord(i) <=ord('z') or ord('A') <= ord(i) <= ord('Z'):
str_num2 += 1
print('数字:',num2,'\n''字母:',str_num2)
四、推导式解决【金额大小写转换,字典推导式练习】
list_num = ['零','壹','贰','叁','肆','伍','陆','柒','捌','玖']
list_U = ['圆','拾','佰','仟','萬']
input_num = input('输入数字:')
len_U = len(input_num)
num_info = [int(input_num)//10**i%10 for i in range(len_U-1,-1,-1)]
for i in num_info:
len_U -=1
print('%s%s'%(list_num[i],list_U[len_U]),end = '')
print('整')
'''
字典对象
初始化定义数据
把 Key是 str类型
长度大于等于5的信息获取
用推导式
'''
dict_1 = {'a':12,123:'abcd','12345':True,'sadasdds':'18895','asd':'d'}
dict_infer = {k:v for k,v in dict_1.items() if type(k) ==str and len(k) >= 5}
print(dict_infer)
【搜索圆方圆,获得“python教程”,“python下载”,“python入门”类相关信息。】