python_day2_学习代码(循环结构、函数、文件、猜数字游戏、按照value排序,返回一个排好序的字典等)

python_day2_学习代码

#python学习-day2_1(循环结构)
1、求1-100的和
总结:while循环更适合于不确定次数的循环
总结:for循环适合确定次数的循环
(1)
#coding=utf-8
‘’‘求1-100的和
总结:while循环更适合于不确定次数的循环’’’
i=1
total=0
while i<=100:
total+=i
i=i+1
print(“求和的结果是{0}”.format(total))
(2)
‘’‘总结:for循环适合确定次数的循环’’’
#range(start,end,step) start:从这个数开始,end到这个数结束,step步长
#end开区间,取不到 默认从0开始 range(3) 0-3
total=0
for i in range(1,101):
total+=i
print(“求和结果是:{}”.format(total))

求和的结果是5050

2、习题:中国古代数学家研究出了计算圆周率最简单的办法:
PI=4/1-4/3+4/5-4/7+4/9-4/11+4/13-4/15+4/17…
这个算式的结果会无限接近于圆周率的值,我国古代数学家祖冲之计算出,
圆周率在3.1415926和3.1415927之间,请编程计算,要想得到这样的结果,
他要经过多少次加减法运算?
(两个方法)

#方法一
pi=0
i=1 #循环变量
while not (pi>=3.1415926 and pi<=3.1415927):#不在这个区间之内,计算
#计算过程
shizi=(-1)(i+1)4/(2i-1)#平方用两个
pi+=shizi
i=i+1
print(“一共算了{}次”.format(i-1))

#方法二
pi=0
i=1
while True:#不在这个区间之内,计算
#计算过程
shizi=(-1)**(i+1)4/(2i-1)
pi+=shizi
i=i+1
if pi>=3.1415926 and pi<=3.1415927:
break;
print(“一共算了{}次”.format(i-1))

一共算了18660304次

3、循环语句嵌套,逐行打印(n个*号),共打印3行
*


‘’'循环语句嵌套,逐行打印(n个号),共打印3行’’’
for i in range(3):
for j in range(i+1): #i从0开始
print(’
‘,end=’ ')
print()

结果显示

#python学习-day2_2(函数)
1、def TheNameOfFunction(paral, para2):

return Outcome
求两个数的最大数

#coding=utf-8
‘’’
!!!重要
def TheNameOfFunction(paral, para2):

return Outcome
求两个数的最大数
‘’’
def maxOfTwo(a,b):
if a>=b:
return a
else:
return b
#调用函数
c=maxOfTwo(8,9)# 有返回值,可以赋值给c
print(“两个值中的最大值是:{}”.format©)
#说明:python很多函数有的是python自带的,有剖的是由用户自定义的
结果显示

2、
def maxOfTwo(a,b):
if a>=b:
return a
else:
return b
#调用函数
if name==‘main’:#是 main函数,就执行
c=maxOfTwo(8,9)
print(“两个值中的最大值是:{}”.format©)
结果显示
3、

‘’‘带默认参数的函数
求三个数的和’’’
‘’‘c 如果没有传递实际参数,默认c是100
默认参数只能放在非默认参数之后!!python规定’’’
def add(a,b,c): #def add(a,b,c=100)
return a+b+c
if name==‘main’:
c=add(1,1,1) #c=add(1,1) 结果102
print(“三个数的和是: {}”.format©)
结果显示

#python学习-day2_3(文件)
1、创建、读取文件等
#coding=utf-8
‘’‘创建一个文件,向里面写东西
‘’’
f=open(‘d:/study/oracle.txt’,‘w’)#f代表代表打开的文件对象
#对f代表的文件进行操作
f.write(‘hello!!\n’) #\n进行换行
f.write(‘hello!!’)
#关闭资源
f.close() #一定要关闭!!

In [14]:#读取文件内容 ,首先你得有这个文件
f=open(‘d:/study/oracle.txt’,‘r’)#f代表代表打开的文件对象
print(f.read()) #f.read代表读所有内容
#关闭资源
f.close() #一定要关闭!!

结果显示
2、
f=open(‘d:/study/oracle.txt’,‘r’)#f代表代表打开的文件对象
print(f.readline()) #f.readline读其中一行
#关闭资源
f.close() #一定要关闭!!
结果显示
3、
#读取文件内容 ,首先你得有这个文件
f=open(‘d:/study/oracle.txt’,‘r’)#f代表代表打开的文件对象
‘’’ 逐行阅读’’’
lst=f.readlines()
for line in lst:
print(line)
#关闭资源
f.close() #一定要关闭!!
结果显示

#python学习-day2_4(练习题目)
python练习题:
1、遍历
Lst=[1,2,3]在控制台输出lst内容。

#coding=utf-8
‘’‘Lst=[1,2,3]在控制台输出lst内容。
‘’’
def bianli(lst):
for i in lst:
print(i)
if name==‘main’:
lst=[1,2,3]
bianli(lst)

结果显示

2、手写一个简单的猜数字游戏,答案在1-100之间,并能够提示猜大了还是猜小了。

‘’‘手写一个简单的猜数字游戏,答案在1-100之间,并能够提示猜大了还是猜小了。’’’
answer=35
num=input(‘请输入你猜的答案:’)
num=int(num)
i=1
#判断用户输入的结果和答案是否一致
while num!=answer:
i=i+1
#如果num小于答案,提示
if num<answer:
print(‘您猜小了!’)
else:
print(‘您猜大了!’)
num=input(‘请输入你猜的答案:’)
num=int(num)
print(“恭喜你,猜对了,一共猜了{}次”.format(i))

结果显示

3、dict={“oracle”:220,”baidu”:100}按照value排序,返回一个排好序的字典

def bubbleSort(lst):
#循环a的长度次
l=len(lst)
for i in range(len(lst)):
#找寻a中未排序部分中的最大值
for j in range(0,len(lst)-i-1):
if lst[j]<lst[j+1]:
#交换两个元素
t=lst[j+1]
lst[j+1]=lst[j]
lst[j]=t
if name==‘main’:
lst=[8,2,4,6,1,9,3,5,7]
bubbleSort(lst)
print(lst)

结果显示

4、包含冒泡排序
‘’‘dict={“oracle”:220,”baidu”:100}按照value排序,返回一个排好序的字典
‘’’
‘’‘冒泡排序’’’
def bubbleSort(a):
#循环a的长度次
for i in range(len(a)):
#找寻a中未排序部分中的最大值
for j in range(0,len(a)-i-1):
if a[j][1]>a[j+1][1]:
#交换两个元素
t=a[j]
a[j]=a[j+1]
a[j+1]=t
return a;
#1、将字典想办法变成集合[(oracle,220),(baidu,100),(…)]
dic={“oracle”:220,“baidu”:100}
lst=[]
for item in dic.items():
lst.append(item)
print(lst)
#2、将lst交给冒泡排序函数
slst=bubbleSort(lst)
print(slst)
#3、将slt集合转为dic
newdic={}
for item in slst:
newdic[item[0]]=item[1]
print(newdic)

结果显示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值