Python写的几个有趣的小游戏

打印等边三角形

# for i in range(1,6):#控制的行数 1 2 3 4 5
#     for j in range(1,i+1):#i =2 range(1,3)--->1  2
#      print("*",end='')
#     print("")#print语句会换行

'''
    * i =1 j =1
   ** i=2 j =2
  ***i=3 j=3
 ****i=4 j=4
*****i=5 j=5

等边三角形   每个边都是5个星号
@@@@* #1
@@@* * #2
@@* * * #3
@* * * * #4
* * * * * #5
'''

for i in range(1,6):#控制行数
#     print("这个是第几行".format(i))
#     print("*")
# 一个for循环控制@符号的输出
# 一个for循环控制“* ”的输出
    for j in range(1,6-i):#控制符号  4 3 2 1 0
        print(" ",end='')
    for k in range(1,i+1):
        print("* ",end='')
    print("")

打印乘法表

'''
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12
1*4=4 2*4=8 3*4=12 4*4=16
'''

for i in range(1,10):#i=1 i=2 i=3
   for j in range(1,i+1):#j=1 j=1 2 j=1 2 3
     print("{0}*{1}={2}".format(j,i,i*j),end='')
   print(" ")

冒泡排序的概念

经典冒泡排序算法:

1.冒泡排序:小的排前面,大的排后面。

2.排序:最终使得数组中的这几个数字按照从小到大的顺序排序。

3.冒泡排序的概念,关系到下来怎么写程序。(重要概念)相邻的两个元素,依次比较。

#利用for循环,完成 a=[1,7,4,89,34,2] 的冒泡排序。
a=[1,7,4,89,34,2]#冒泡算法 一般比较n-1 就完成 n是元素的个数
'''
1 4 7 34 2 89  第一趟
1 4 7 2 34 89   第二趟
1 4 2 7 34 89 第三趟
1 2 4 7 34 89 第四趟
'''
for i in range(1,len(a)):#0 1 2 3 4 5
     for j in range(0,len(a)-1):#range(1,6)
         if a[j]>a[j+1]:
             a[j],a[j+1]=a[j+1],a[j]
     print(a)
print(a)

自动贩卖机

1.自动贩卖机:只接受1元,5元,10元的硬币,可以1块,5元,10元。

2.面值最多不超过10块钱。饮料只有橙汁,椰汁,矿泉水,早餐奶。

3.售价分别是3.5  4   2   4.5 写一个函数用来表示贩卖机的功能:4.用户投钱和选择饮料,并通过判断之后,给用户吐出饮料和找零。

  • 选择饮料:字典

  • 投钱:1 5 10 判断金额的面值

  • 判断,钱不够,钱多了的情况,钱刚好的情况

drinks={"1":3.5,"2":4,"3":2,"4":4.5}
#用户选择饮料:
total=0#存储我们购买饮料的总金额
while True:
    choose=input("请选择你要购买的饮料:1:橙汁 2:椰汁 3:矿泉水 4:早餐奶 q:退出")
    if choose in drinks.keys():
        total+=drinks[choose]#
    elif choose == 'q':
        print("退出选择饮料")
        break
    else:
        print("不存在该选项,请重新选择!")

#用户投币
toubi=0#投币的总额
while True:
    money=input("请投币:只能投1 5 10面值的硬币或纸币,按q退出投币!")
    if money=='1' or money=='5' or money=='10':
        toubi+=int(money)
        if toubi>total:
            print("您刚刚购买了{0}元饮料,您已支付{1}元,找零{2}!".format(total, toubi,toubi-total))
            break
        elif toubi<total:
            print("您刚刚购买了{0}元饮料,您已支付{1}元,还需支付{2}!".format(total, toubi, total - toubi))
        else:
            print("您刚刚购买了{0}元饮料,您已支付{1}元,已支付完毕!".format(total, toubi))
            break
    elif money=='q':
        print("退出投币")
        break
    else:
        print("你输入的选项不存在")
  '''
输出结果如下:
请选择你要购买的饮料:1:橙汁 2:椰汁 3:矿泉水 4:早餐奶 q:退出1
请选择你要购买的饮料:1:橙汁 2:椰汁 3:矿泉水 4:早餐奶 q:退出2
请选择你要购买的饮料:1:橙汁 2:椰汁 3:矿泉水 4:早餐奶 q:退出3
请选择你要购买的饮料:1:橙汁 2:椰汁 3:矿泉水 4:早餐奶 q:退出4
请选择你要购买的饮料:1:橙汁 2:椰汁 3:矿泉水 4:早餐奶 q:退出q
退出选择饮料
请投币:只能投1 5 10面值的硬币或纸币,按q退出投币!5
您刚刚购买了14.0元饮料,您已支付5元,还需支付9.0!
请投币:只能投1 5 10面值的硬币或纸币,按q退出投币!10
您刚刚购买了14.0元饮料,您已支付15元,找零1.0!
'''

欢迎扫码关注!


  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清菡软件测试

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值