# python 冒泡排序def paixu(li):
max =0for ad in range(len(li)-1):for x in range(len(li)-1- ad):if li[x]> li[x +1]:
max = li[x]
li[x]= li[x +1]
li[x +1]= max
else:
max = li[x +1]print(li)
paixu([41,23344,9353,5554,44,7557,6434,500,2000])
猜拳小游戏
import random
while1:
s=int(random.randint(1,3))if s==1:
ind="石头"elif s==2:
ind="剪刀"elif s==3:
ind="布"
m=input('输入石头,剪刀,布,输入end结束游戏:')
blist=['石头','剪刀','布']if(m notin blist)and(m!='end'):print("输入错误,重试:")elif(m=='end')and(m notin blist):print(ind)print("\n游戏退出")breakelif m==ind:print("平")elif(m =='石头'and ind =='剪刀')or(m =='剪刀'and ind =='布')or(m =='布'and ind =='石头'):print("电脑出了: "+ ind +",你赢了!")else:print("电脑出了: "+ ind +",你输了!")
原九九乘法表逆时针输出:
<pre>for i in range(9,0,-1):
for j in range (1,i):
print("\t",end="")
for k in range (i,10):
print("%dx%d=%d" % (i,k,k*i), end="\t")
print()
彩票游戏
import random
t1="开始游戏"
t2="结束游戏"print(t1.center(50,"*"))
data1=[]
money=int(input("输入投入的金额:"))print("你现在余额为:%d元"%money)while1:for i in range(6):
n = random.choice([0,1])
data1.append(n)if money<2:print("你的余额不足,请充值")
m=input("输入投入的金额:")ifint(m)==0:breakelse:
money=int(m)while1:
j=int(input("输入购买彩票数量"))if money-j*2<0:print("购买后余额不足,请重新输入")else:
money = money - j *2print("你现在余额为:%d元"% money)breakprint("提示:中奖数据有六位数,每位数为0或者1")
n2=input("请猜测中奖数据:(输入的数字为0或1)")print(str(data1))
f=[]for x in n2:
f.append(x)
f1 = str(f)
f2 = f1.split("'")
f3 ="".join(f2)print("你猜测的数据为:", f3)if f3==str(data1):print("中奖数字为:",data1)print("恭喜你中大奖啦")
money=money+j*100print
使用内置 enumerate 函数进行遍历:
for index, item in enumerate(sequence): process(index, item)
实例
>>> sequence = [12, 34, 34, 23, 45, 76, 89] >>> for i, j in enumerate(sequence): ... print(i, j) ... 0 12 1 34 2 34 3 23 4 45 5 76 6 89
for 循环 1-100 所有整数的和
#!/usr/bin/env python3 n = 0 sum = 0 for n in range(0,101):# n 范围 0-100 sum += n print(sum)
使用循环嵌套来实现99乘法法则:
#!/usr/bin/python3 #外边一层循环控制行数 #i是行数 i=1 while i<=9: #里面一层循环控制每一行中的列数 j=1 while j<=i: mut =j*i print("%d*%d=%d"%(j,i,mut), end=" ") j+=1 print("") i+=1
for 循环的嵌套使用实例:
#!/usr/bin/python3 for i in range(1,6): for j in range(1, i+1): print("*",end='') print('\r')
输出结果:
* ** *** **** *****
1-100 的和:
>>> sum(range(101)) 5050
while 循环语句和 for 循环语句使用 else 的区别:
关于pass的作用:
pass只是为了防止语法错误。
if a>1: pass #如果没有内容,可以先写pass,但是如果不写pass,就会语法错误
pass就是一条空语句。在代码段中或定义函数的时候,如果没有内容,或者先不做任何处理,直接跳过,就可以使用pass。
#十进制转化 while True: number = input('请输入一个整数(输入Q退出程序):') if number in ['q','Q']: break #如果输入的是q或Q,结束退出 elif not number.isdigit(): print('您的输入有误!只能输入整数(输入Q退出程序)!请重新输入') continue #如果输入的数字不是十进制,结束循环,重新开始 else : number = int(number) print('十进制 --> 十六进制 :%d -> 0x%x' %(number,number)) print('十进制 --> 八进制 :%d -> 0o%o' %(number,number)) print('十进制 --> 二进制 :%d ->'%number,bin(number))
冒泡排序,python 版本
解析:很经典的排序方式,从数组中的第0个元素开始,与后面一个元素进行比较,如果前面的元素大于后面的元素,就调换位置,循环到最后(即:a0与a1比较得到结果后,a1与a2比较...),最大的元素被换到数组最末尾,剔除掉最后一个元素,在余下的数组元素中进行上述操作,到最后,整个数组呈现从小到大的排序
# python 冒泡排序 def paixu(li) : max = 0 for ad in range(len(li) - 1): for x in range(len(li) - 1 - ad): if li[x] > li[x + 1]: max = li[x] li[x] = li[x + 1] li[x + 1] = max else: max = li[x + 1] print(li) paixu([41,23344,9353,5554,44,7557,6434,500,2000])
猜拳小游戏
import random while 1: s=int(random.randint(1,3)) if s==1: ind="石头" elif s==2: ind="剪刀" elif s==3: ind="布" m=input('输入石头,剪刀,布,输入end结束游戏:') blist=['石头','剪刀','布'] if(m not in blist) and (m!='end'): print("输入错误,重试:") elif(m=='end')and(m not in blist): print(ind) print("\n游戏退出") break elif m==ind: print("平") elif (m == '石头' and ind =='剪刀') or (m == '剪刀' and ind =='布') or (m == '布' and ind =='石头'): print ("电脑出了: " + ind +",你赢了!") else: print ("电脑出了: " + ind +",你输了!")
原九九乘法表逆时针输出:
<pre>for i in range(9,0,-1): for j in range (1,i): print("\t",end="") for k in range (i,10): print("%dx%d=%d" % (i,k,k*i), end="\t") print()
彩票游戏
import random t1="开始游戏" t2="结束游戏" print(t1.center(50,"*")) data1=[] money=int(input("输入投入的金额:")) print("你现在余额为:%d元"%money) while 1: for i in range(6): n = random.choice([0, 1]) data1.append(n) if money<2: print("你的余额不足,请充值") m=input("输入投入的金额:") if int(m)==0: break else: money=int(m) while 1: j=int(input("输入购买彩票数量")) if money-j*2<0: print("购买后余额不足,请重新输入") else: money = money - j * 2 print("你现在余额为:%d元" % money) break print("提示:中奖数据有六位数,每位数为0或者1") n2=input("请猜测中奖数据:(输入的数字为0或1)") print(str(data1)) f=[] for x in n2: f.append(x) f1 = str(f) f2 = f1.split("'") f3 = "".join(f2) print("你猜测的数据为:", f3) if f3==str(data1): print("中奖数字为:",data1) print("恭喜你中大奖啦") money=money+j*100 print