文章目录
1.Python安装流程编写,如何多环境不冲突
第一步 打开安装包后首先勾选(AddPython 3.10.X to Python),接着点击Customize installation。
第二步 然后会进入到Optional Features界面,全部勾选,接着下一步(next)。
第三步接着勾选前5个选项,并且最好将下方的路径改至除c盘外的盘里。然后点击 Install 。
第四步接下来等待安装 。
第五步接下来等待安装 。
第六步至此,python的安装结束。
第七步检测是否安装成功:windows+R 会弹出界面,输入 cmd 确定。
第八步在弹出的运行框里输入: python -V (-前面有空格,V必须大写),接着空格,若出现Python版本名称则表示安装成功。
@.在电脑高级系统设置里面配置环境变量,把python.exe和Scripts这两个添加到Path当中,
每次想用哪个版本的Python的时候,就把这个版本的这两个文件路径在Path列表中提到最前边,因为电脑是按照顺序读取的。
@.可以把不同的Python改名字,这样就不用改环境变量了,切换的话cmd里面运行的时候想用哪个就输入哪个。
2.字符串所有方法默写
str.upper()转换字符串中所有字母为大写,str.lower()转换为小写。
str.strip()删除字符串开头和末尾的空格,str.lstrip()删除左边,str.rstrip()删除右边,# print(str1.lstrip(‘+’).rstrip(‘-’))删除左边+和右边-
str.swapcase() 对字符串进行大小字母转换;str.title()所有单词首字母转换为大写,>>> name = ‘li qin’ >>> name.title() ‘Li Qin’
str.find()找位置,检测字符串中是否包含子字符串str,返回下标;
str.index(‘6’)如果想要知道某个字符串是否包含在列表中,可以直接使用index方法判断。
str1 = ‘12336’
b = str1.index(‘6’)
print(b)
如果包含了字符串中,返回该字符串第一次出现的位置;如果不包含,就会出错。
str.replace(str1,str2) 替换,把字符串中的str1替换成str2
print(‘hes’ in ‘hello’)判断是否在其中
字符串取值str.index(‘6’)) print(str3[6:11][::-1])
遍历字符串
b = ‘12336’
for i in b:
print(i)
使用join函数连接字符串
#l1 = [‘hello’,‘world’]
#print(‘王先生’.join(l1))
判断以什么开头
data = “王大头王小”
print(data.startswith(‘大’))
输出结果是False
统计长度
#len()
查看当前字符串在Ascii码表里的位置
#print(ord(‘a’))
结果输出的是97
#print(chr(97))
结果输出的是a
#14字符串转义
#print(‘hello\nwor’ld’)
#print(r’hello\nworld’)
处理字符串当中的引号两种方法
(1.)使用不同的引号包围字符串
(2.)对字符串内容的引号进行转义,使用\即可
s5 = “i’m a good boy”
s6 = ‘i’m a good boy’
print(s5)
print(s6)
3.字符串格式化三种方法练会
字符串格式化(想让输入到里面的值可以变化,比如可以随便输入一个人的名字,查询成绩什么的,就可以随便输入)
#(1)format格式化 使用%进行占位,%连接传参
#username = input(‘请输入你的名字’)
#score = float(input(‘请输入你的成绩’))
#print(‘你好,{0},你的成绩是{1:.2f}’.format(username,float(score)))
name = ‘李崇昂’
print(“我的名字是:{}”.format(name))
print(‘我的年龄是:{age}’.format(age = 18))
我的名字是:李崇昂
我的年龄是:18
#(2)%号格式化,使用%进行占位,%连接传参
#%s 格式化字符串 %d 格式化整数 %f 格式化浮点数,可以指定小数点后的精度
#print(‘你好,%s,你的成绩是%.2f’%(username,float(score)))
例子
name = ‘二狗’
age = 18
print(‘我的名字是%s,我今年%d岁了’%(name,age))
我的名字是二狗,我今年18岁了
#(3)f-string 格式化,直接在花括号钟传值
#print(f’你好,{username},你的成绩是{score:.2f}')
name = ‘张三’
print(f’你的名字是{name}')
你的名字是张三
也可以使用字典类型来格式化
d = {‘age’:18,‘name’:18}
print(f’年龄{d[“age”]}:名字{d[“name”]}')
年龄18:名字18
4.列表所有方法会默写
创建列表[]或者list() 访问列表listname[]或者listname[start🔚step] 添加元素+ append() extend()里面放列表, insert()
删除元素pop() remove() clear() del()
修改元素:修改单个元素,直接对元素赋值,修改一组元素,通过切片语法给一组元素赋值
查找元素:index()查找元素在列表中出现的位置,count()统计某个元素出现的次数
5.实现斐波那契数列的程序编写
6.实现水仙花程序的编写(2种方法)
7.编写程序求一个列表里面的最大值和最小值
8.用自己的代码实现strip的功能
9.编写程序对列表元素中的去重
5斐波那契数列
lists = [0,1,1,2,3,5,8]
x1 = 0
y1 = 1
for i in range(40):
#实现原理
#x = y1
#y = x1 + y1
#print(y)
#x1 = x
#y1 = y
x1,y1 = y1,x1+y1
print(y1)
6.水仙花束
第一种
for x in range(100,1000):
s = str(x) #将数字转化为字符串
bai = int(s[0])
shi = int(s[1])
ge = int(s[2])
if x == bai**3 + shi**3 + ge**3:
print(x)
for x in range(100,1000):
s = str(x) #将数字转化为字符串
bai = int(s[0])
shi = int(s[1])
ge = int(s[2])
if x == eval(('{}**3 + {}**3 + {}**3').format(bai,shi,ge)):
print(x)
第二种
通过while循环列出1000以内所有三位数,然后通过取整数算出百位,减去百位,然后除以10化整减去个位算出十位,
取余数算出个位,然后进行**3来验证是否水仙花数
i = 100
while i < 1000:
num1 = i // 100 #百位
num2 = int((i-num1*100)/10) #十位
num3 = i % 10 #个位
if num3 ** 3 +num2 ** 3 +num1 ** 3 == i:
print(i)
i += 1
第三种
for i in range(100,1000):
a = i // 100 # 百位
b = (i - a * 100) // 10 #十位
c = (i - a * 100 - b * 10) #个位
if i == (a * a * a + b * b * b + c * c * c):
print('水仙花数:',i)
7.编写程序求一个列表里的最大值和最小值
#第一种
#假设列表中第一元素设为最大值,第一个元素再设为最小值。进行比较找出最大、最小值 。
nums = [18, 39, 11, 34, 51, 100, 69, 71, 92, 88, 5, 75]
max = nums[0] # 最大值是第一个元素
min = nums[0] # 最小值是第一个元素
for num in nums:
#将认为的最大值与列表中的剩余元素进行比较,这里认为最大值是第一个元素,将第一个元素与第二、三、四...逐个进行比较,
# 如果在比较的过程中遇到了比第一个元素还大的值 ,则把该元素赋值给max
if num>max:
max=num
#将认为的最小值与列表中的剩余元素进行比较,这里认为最小值是第一个元素,将第一个元素与第二、三、四...逐个进行比较,
# 如果在比较的过程中遇到了比第一个元素还小的值 ,则把该元素赋值给min
if min>num:
min=num
print("-------------第一种方式-------------")
print("最大值:", max)
print("最小值:", min)
#第二种
#用下标的方式来找出最大、最小值 的下标。
nums = [18, 39, 11, 34, 51, 100, 69, 71, 92, 88, 5, 75]
maxIndex=0 #最大值的下标为0
minIndex=0 #最小值的下标为0
#i 代表列表中的元素
for i in range(0,len(nums)):
#将认为的最大值下标nums[0]与列表中的剩余元素下标进行比较,
# 这里认为最大值是第一个元素nums[0],将nums[0]与nums[1],nums[2],nums[3]...
# 逐个进行比较,如果在比较的过程中遇到了比nums[0]还大的值 ,则把该元素的下标赋值给maxIndex.
if nums[i]>nums[maxIndex]:
maxIndex=i
#将认为的最小值下标nums[0]与列表中的剩余元素下标进行比较,
# 这里认为最小值是第一个元素nums[0],将nums[0]与nums[1],nums[2],nums[3]...
# 逐个进行比较,如果在比较的过程中遇到了比nums[0]还小的值 ,则把该元素的下标赋值给minIndex.
if nums[minIndex]>nums[i]:
minIndex=i
print("-------------第二种方式-------------")
print("最大值:", nums[maxIndex])
print("最小值:", nums[minIndex])
8.用自己的代码实现strip的功能
str1 = '++123--'
str3 = ' [3,4,5] '
print(str3)
print(str3.strip())
print(str3.lstrip())
print(str3.rstrip())
print(str1.lstrip('+').rstrip('-'))
9.编写程序对列表元素== 去重 ==
list3 = [1,1,1,4,4,5,5,7,7,7,7,7,9,9]
list4=[]#创建空的列表
for i in list3:#使用for in遍历出列表
if not i in list4:#将遍历好的数字存储到控的列表中,因为使用了if not ,只有为空的的字符才会存里面,如果llist4里面已经有了,则不会存进去,这就起到了去除重复的效果!!
list4.append(i)#把i存入新的列表中
print(list4)
10.统计列表中每个元素出现的个数
第一种
list3 = [1,1,1,4,4,5,5,7,7,7,7,7,9,9]
print(list3)
for i in list3:
c1 = list3.count(i)
print(i,'出现的次数:',c1)
第二种
Demo_list = [1, 2, 3, 3, 3, 5, 6, 2, 2, 0, 4, 5, 2, 7, 8, 4, 5, 1, 3, 9, 8, 7]
#根据情况判断,输出应为字典较为合适
Demo_dict = {} #定义一个空的字典,在后面的运算中逐步添加数据
for key in Demo_list: #遍历整个列表
Demo_dict[key] = Demo_dict.get(key, 0) + 1
print(Demo_dict)
第三种
Demo_list = [1, 2, 3, 3, 3, 5, 6, 2, 2, 0, 4, 5, 2, 7, 8, 4, 5, 1, 3, 9, 8, 7]
Demo_dict = {}
for item_str in Demo_list:
if item_str in Demo_dict:
Demo_dict[item_str] += 1
else:
Demo_dict[item_str]=1
print(Demo_dict)
第四种
Demo_list = [1, 2, 3, 3, 3, 5, 6, 2, 2, 0, 4, 5, 2, 7, 8, 4, 5, 1, 3, 9, 8, 7]
Demo_dict = {} #定义一个空的字典,在后面的运算中逐步添加数据
for key in Demo_list: #遍历整个列表
if key not in Demo_dict: #判断当前key是否已经存在
Demo_dict[key]=1 #当前key第一次出现
else:
Demo_dict[key]+=1 #在当前key的个数上加 1
print(Demo_dict)
第五种
from collections import Counter
lists =[1,2,3,3,3,5]
print(Counter(lists))
11.== 九九乘法表 ==的输出
使用for循环
for x in range(1,10):
for y in range(1,x+1):
print("%d*%d=%2d" %(y,x,y*x),end="\t") #%号格式化,使用%进行占位,%连接传参,%d格式化整数
print()
for x in range(1,10):
for y in range(1,x+1):
print(f"{x}*{y}={x*y}",end="\t") #f-string格式化,直接在花括号钟传值
print()
for i in range(1,10): #1~9,因为是两个数相乘,所以还需要写一个j
for j in range(1,i+1):
print("{}*{}={}\t".format(j,i,i*j),end=' ') #format格式化
print()
使用while循环
x= 1
while x < 10:
y = 1
while y < x + 1:
print("%d*%d=%2d" % (y, x, y * x), end="\t")
y += 1
x += 1
print()
12.计算器程序
第一种
while True:
c = float(input('请输入第一个数字'))
print("""
1 +
2 -
3 *
4 /
5 %
6 **
7 //
""")
f = input('请输入符号的序号')
c1 = float(input('请输入第二个数字'))
if f=='1':
print(c+c1)
elif f=='2':
print(c - c1)
elif f=='3':
print(c * c1)
elif f=='4':
print(c / c1)
elif f == '5':
print(c % c1)
elif f == '6':
print(c ** c1)
elif f == '7':
print(c // c1)
else:
print('error')
第二种
while True:
p = input('是否继续使用计算器?(yes/no)')
if p == 'yes':
a = float(input('输入数字1:'))
b = float(input('输入数字2:'))
c = str(input('输入运算法则:'))
if c == '+':
z = a + b
print('%s与%s的和为%s' % (a, b, z))
elif c == '-':
z = a - b
print('%s与%s的差为%s' % (a, b, z))
elif c == '*':
z = a * b
print('%s与%s的乘积为%s' % (a, b, z))
elif c == '/':
z = a / b
print('%s与%s的商为%s' % (a, b, z))
elif p == 'no':
break
else:
print('错误输入')
13.如果有两个列表,他们都有10个元素,如何生成一个新的列表,对应下表使用这2个列表中值大的那个?== zip ==
比如说列表1[1,2,3,4]列表3[2,1,2,2],得到的结果应为[2,2,3,4]
方法一
list1=[2,54,31,6,42]
list2=[4,98,43,3,2]
list3 = [max(i) for i in zip(list1,list2)]
print(list3)
方法二
lists = []
list1=[2,54,31,6,42]
list2=[4,98,43,3,2]
for a,b in zip(list1,list2):
n = a if a > b else b
lists.append(n)
print(lists)
14.自己设计一个程序实现一个功能,比如中国各省市城市查询系统。
15.== 冒泡排序:==对列表进行排序
#利用冒泡排序对列表进行排序
list = [4,1,7,2,5,3,9,8,6]
for i in range(0,len(list)-1):
for j in range(0, len(list) - i - 1):
if list[j]>list[j+1]:
temp = list[j]
list[j] = list[j+1]
list[j+1] = temp
print(list)