1、设置一个600*650的窗口,随机在屏幕上绘制100个六芒星,颜色大小随机。
习题解析:与上章例题类似,比较简单。代码如下:
- import random as r
- import turtle as t
- colors=["red","blue","yellow","green","orange","purple"]
- t.setup(600,650)
- t.speed(0) #画笔的速度(0为极快)
- def liu(x,y,color,size):
- t.pu()
- t.goto(x,y)
- t.pd()
- t.color(color)
- t.begin_fill()
- for i in range(6):
- t.fd(size)
- t.left(60)
- t.fd(size)
- t.right(120)
- t.end_fill()
- for n in range(100):
- x,y=r.randint(-300,300),r.randint(-325,325)
- color=r.choice(colors)
- size=r.randint(10,20)
- liu(x,y,color,size)
- t.mainloop() #持续保持窗口
2、任意输入一个年份,判断其是不是闰年,输出YES/NO
输入样例:2020
输出样例:YES
习题解析:考核闰年判定和取模运算。闰年判定:4年一闰且100不闰,或者400年1闰。
- year=int(input())
- if year%4==0 and year%100!=0 or year%400==0:
- print("YES")
- else:
- print("NO")
例题讲解:
1、输入一行数字,每个数字以空格间隔,求出最大值,最小值,平均值。
例题解析:python输入的一行为字符串,需要转换成数字型列表进行计算。
- s=input()
- l=s.split(" ") #将输出的字符串按空格拆分成单个的字符串组成的列表,空格不在出现
- num_list=[int(x) for x in l] #将字符串列表转换成数字列表 []里等同于for x in l: num_list.append(int(x))
- print("最大值:",max(num_list))
- print("最小值: ",min(num_list))
- print("平均值:",sum(num_list)/len(num_list))
2、输入一行数字,以空格隔开,依次判定其是不是质数。是输出yes,否输出no。
样例输入:2 3 6
样例输出:
2 yes
3 yes
6 no
例题解析:判定一个数是不是质数,只需要判定能否被2-平方根整除,有任何一个则不是,如果从头至尾不能则是。这里用for else语法。当for执行完没有中断时,就会执行else,否则不执行else。1是特殊情况,单独罗列
- import math
- s=input()
- l=s.split(" ")
- num_list=[int(x) for x in l]
- def zhishu(n):
- if n==1: #单独罗列1.
- return False
- n2=int(math.sqrt(n))+1 #sqrt求平方根
- for i in range(2,n2):
- if n%i==0:
- return False
- else:
- return True
- for x in num_list:
- if zhishu(x):
- print(x,"yes")
- else:
- print(x,"no")