Python零基础入门习题(三)猜数游戏

前言

        Python语言简单易用,可读性强。在了解基础语法后,你就可以来尝试解决以下的题目。放心,本系列的文章都对新手非常友好。


一、绘制五星红旗并在下方写上“祖国万岁!”

import turtle #引用绘图库
turtle.speed(0)
turtle.up()
turtle.goto(-200,200) 
turtle.down()
turtle.fillcolor("red")
turtle.begin_fill()
for i in range(2): #循环画出长方形
    turtle.fd(438)
    turtle.right(90)
    turtle.fd(292)
    turtle.right(90)
turtle.end_fill()

turtle.fillcolor("yellow")
turtle.color('yellow')
turtle.begin_fill()#主星
turtle.up()
turtle.goto(-170,145) 
turtle.down()
for i in range (5):    
    turtle.forward(50)
    turtle.right(144)
turtle.end_fill()

turtle.begin_fill()#第1颗副星
turtle.up()
turtle.goto(-100,180)
turtle.setheading(305)
turtle.down()
for i in range (5):    
    turtle.forward(20)
    turtle.left(144)
turtle.end_fill()

turtle.begin_fill()#第2颗副星
turtle.up()
turtle.goto(-85,150)
turtle.setheading(30)
turtle.down()
for i in range (5):  
    turtle.forward(20)
    turtle.right(144)
turtle.end_fill()

turtle.begin_fill()#第3颗副星
turtle.up()
turtle.goto(-85,120)
turtle.setheading(5)
turtle.down()
for i in range (5):   
    turtle.forward(20)
    turtle.right(144)
turtle.end_fill()

turtle.begin_fill()#第4颗副星
turtle.up()
turtle.goto(-100,100)
turtle.setheading(300)
turtle.down()
for i in range (5):  
    turtle.forward(20)
    turtle.left(144)
turtle.end_fill()

turtle.color('red')
turtle.up()
turtle.goto(20,-200)
turtle.down()
turtle.write("祖国万岁!",False,'center',font=('arial',40,'bold'))
turtle.exitonclick()

二、猜数游戏

很多人在小时候都玩过,这是一种起源于20世纪中期的游戏。而他的基本规则就是一个人随机给出一个数,然后让另一个人去猜测这个数字的具体大小,如果大了则回答“猜大了”,反之则回答“猜小了”,直到正确才停止。

import random
import sys
num=random.randint(0,99) #随机一个整数
x=random.random(0,99) #再随机一个数
a=-1
count=0
while(a!=num):
    a=eval(input("输入")) #输入一个数
    if isinstance(a,int): #判断是否输入整数
        if a>num:
            print("遗憾,太大了")
        if a<num:
            print("遗憾,太小了")
    else:
        print("请输入整数")
        sys.exit(0)
count+=1
print("预测{}次,你猜中了!速度超过{}%的人".format(count,x)) #输出结果

三、比较列表排序和sorted排序的耗时

import sys
import random
import time

start=time.perf_counter() #列表排序
str=[]
random.seed(10)
for i in range (10000):
    str.append(random.randint(0,1000000))

for i in range (10000):
    for j in range (i+1,10000):
        if str[j]<str[i]:
            str[j],str[i]=str[i],str[j]
    i+=1
end=time.perf_counter()
print("排序耗时为{}s".format(end-start))

start=time.perf_counter()#sorted排序
str=[]
random.seed(10)
for i in range (10000):
    str.append(random.randint(0,1000000))

str1=sorted(str)
end=time.perf_counter()
print("sorted耗时为{}s".format(end-start))


总结

以上就是本文全部内容,你学会了吗?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值