前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python写的几个有趣的小游戏

Python写的几个有趣的小游戏

作者头像
清菡
发布2020-12-02 16:40:36
7540
发布2020-12-02 16:40:36
举报
文章被收录于专栏:清菡软件测试清菡软件测试

打印等边三角形

代码语言:javascript
复制
# 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("")

打印乘法表

代码语言:javascript
复制
'''
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.冒泡排序的概念,关系到下来怎么写程序。(重要概念)相邻的两个元素,依次比较。

代码语言:javascript
复制
#利用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 判断金额的面值
  • 判断,钱不够,钱多了的情况,钱刚好的情况
代码语言:javascript
复制
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!
'''

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-01-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 清菡软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 打印等边三角形
  • 打印乘法表
  • 冒泡排序的概念
  • 自动贩卖机
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档