1、打字游戏:屏幕随机产生26个大写字母,用户输入大写字母,如果输入和产生的一样,则分数+1,当分数为100的时候,显示bingo,恭喜你过关! 并结束程序。
习题解析:考核随机抽取字符串中字符方法:choice,分数累积:a=0,if
满足条件 a+=1.
- import random as rd
- letters="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- pt=0
- while True:
- a=rd.choice(letters)
- print(a)
- b=input()
- if a==b:
- pt+=1 #pt+=1 => pt=pt+1,变量pt自增1.
- if pt==100:
- break
- print("bingo,恭喜你过关!")
2、太阳公司一共有100个员工,他们即将进行一次抽奖活动,每个员工一个号码,是1-100号,主持人按一个C键,显示一个奖项,显示内容示例如下:
三等奖 10号
一共三等奖3个,二等奖2个,一等奖1个。从三等奖开始显示。显示完一等奖后显示 恭喜以上员工!
习题解析:考核输入判定及随机整数。
才
- import random as rd
- j=["三等奖 ","三等奖 ","三等奖 ","二等奖 ","二等奖 ","一等奖 "]
- for i in j:
- while True:
- if input()=="C":
- print(i,rd.randint(1,100))
- break
- print("恭喜以上员工!")
例题讲解:
1、在600*600的画布上绘制出20个五角星,位置随机, 边长随机20-80,颜色随机。
例题解析:考核随机,turtle更多方法。学习定义函数。
定义函数的格式:
def 函数名(参数1,参数2.。):
函数体
- import turtle as t
- import random as rd
- colors=["red","blue","purple","green","yellow","orange"]
- t.setup(600,600) #设置窗口大小(600,600),中心坐标为(0,0)
- def wujiaoxing(): #定义函数
- t.penup() #抬笔
- t.goto(rd.randint(-300,300),rd.randint(-300,300)) #移动到随机位置(绝对位置)
- t.pendown() #落笔
- t.color(rd.choice(colors)) #画笔颜色
- t.begin_fill() #开始填充
- 长度=rd.randint(20,80)
- for i in range(5):
- t.forward(长度)
- t.right(144)
- t.end_fill() #结束填充
- for n in range(20):
- wujiaoxing()
2、 今天是2020年3月21日星期六,编写程序,输入任意一个2020年的月和日,输出星期几?输入两行,第一行月,第二行日
样例输入:
4
16
样例输出:
星期四
例题分析:计算出相距的天数,然后计算出星期几。要计算的日期在当前日期前面的话,则用7减去对7取模的值,就变成后面的相应的星期数。
- #当前日期3.21 星期六
- months=[0,31,29,31,30,31,30,31,31,30,31,30,31]
- weeks=["六","日","一","二","三","四","五",]
- mon=int(input())
- day=int(input())
- con=0
- if mon<3: #月份在前面
- for i in range(mon,3): #计算出月份到2月的总天数
- con+=i
- con=(7-(con-day+21)%7)%7 #总天数-要计算的日期+21就是总的相距的天数
- #7-总相距的天数%7这一天和要计算的日期的星期相同
- elif mon>3: #月份大于3差不多计算,不用用7-取模的数,因为本来就在当前日期后面
- for i in range(3,mon):
- con+=i
- con=(con-21+day)%7
- else:
- con=(day-21+35)%7
- print("星期%s"%weeks[con])