【作业】条件、循环、函数定义、字符串操作练习

一、注意标准库的两种导入与使用方式,建议大家采用<库名>.<函数名>的方式。

二、对前面的代码进行优化,用for,while,if,def实现:

1、用循环画五角星

 1 from turtle import*
 2 color("red")
 3 fillcolor("red")
 4 begin_fill()
 5 while True:
 6     forward(200)
 7     right(144)
 8     if abs(pos())<1:
 9         break
10 end_fill()

2、用循环画同心圆

1 import turtle
2 for i in range(3):
3     turtle.up()
4     turtle.goto(0,-20*(i+1))
5     turtle.down()
6     turtle.circle(20*(i+1))

3、用while循环画太阳花

 1 import turtle
 2 turtle.color('red','yellow')
 3 turtle.begin_fill()
 4 while True:
 5     turtle.forward(200)
 6     turtle.left(170)
 7     if abs(turtle.pos())<1:
 8         break        
 9 turtle.end_fill()
10 done()

4、用函数定义画五个五角星

 1 def mystar(z):
 2   turtle.begin_fill()
 3   for i in range(5):
 4     turtle.forward(z)
 5     turtle.right(144)
 6   turtle.end_fill()
 7 
 8 def otherstart():
 9   turtle.begin_fill()
10   for i in range(5):
11     turtle.right(144)
12     turtle.forward(35)
13 turtle.end_fill()
14   
15 mygoto(-250,125)
16 mystar(125)
17 
18 mygoto(-105,165)
19 turtle.left(40)
20 turtle.begin_fill()
21 for i in range(5):
22     turtle.forward(35)
23     turtle.right(144)
24 turtle.end_fill()
25 
26 mygoto(-30,135)
27 turtle.right(10)
28 turtle.begin_fill()
29 for i in range(5):
30     turtle.right(144)
31     turtle.forward(35)
32 turtle.end_fill()
33 
34 mygoto(-40,75)
35 turtle.left(40)
36 turtle.begin_fill()
37 for i in range(5):
38     turtle.right(144)
39     turtle.forward(35)
40 turtle.end_fill()
41 
42 mygoto(-75,20)
43 turtle.right(20)
44 turtle.begin_fill()
45 for i in range(5):
46     turtle.right(144)
47     turtle.forward(35)
48 turtle.end_fill()

5、用函数定义画钻石花瓣的太阳花

 1 from turtle import *
 2 def draw_prismatic():
 3     for i in range(1,3):  #要转三次方向来画一个菱形
 4         forward(100)
 5         right(45)
 6         forward(100)
 7         right(135)
 8 
 9 def draw_Diamond_Flower():
10     speed(10)
11     color('red','yellow')
12     begin_fill()
13     for i in range(36):
14         draw_prismatic()
15         right(10)
16     end_fill()
17 
18 draw_Diamond_Flower()

三、字符串操作

1、输入学号,识别年级、专业、序号。

 

 1 majors = {
 2  11:'网络工程',
 3  12:'软件工程',
 4  13:'数字媒体',
 5  }
 6 
 7 def recognition(studentID):
 8     if len(studentID)<12:
 9         print("请输入正确的学号!")
10     elif studentID.isdigit() != True:
11         print("请输入正确的学号!")
12     else:
13         grade = studentID[0:4]
14         major = studentID[6:8]
15         num = studentID[10:12]
16         print("年级:{}级".format(grade))        
17         print("专业为:",majors.get(int(major)))
18         print("序号:{}".format(num))
19         
20 studentID = input("请输入学号:")
21 recognition(studentID)

2、输入1-7的数字,输出对应的“星期几”。

1 s='星期一星期二星期三星期四星期五星期六星期日'
2 a=int(input("输入数字(1-7):"))
3 print(s[-3+3*a:0+3*a])

3、识别身份证号中的省市区、年龄、性别。

 1 import time
 2  
 3 provinces = {
 4     11:'北京市',
 5     12:'天津市',
 6     13:'河北省',
 7     14:'山西省',
 8     15:'内蒙古自治区',
 9     21:'辽宁省',
10     22:'吉林省',
11     23:'黑龙江省',
12     31:'上海市',
13     32:'江苏省',
14     33:'浙江省',
15     34:'安徽省',
16     35:'福建省',
17     36:'江西省',
18     37:'山东省',
19     41:'河南省',
20     42:'湖北省',
21     43:'湖南省',
22     44:'广东省',
23     45:'广西壮族自治区',
24     46:'海南省',
25     50:'重庆市',
26     51:'四川省',
27     52:'贵州省',
28     53:'云南省',
29     54:'西藏自治区',
30     61:'陕西省',
31     62:'甘肃省',
32     63:'青海省',
33     64:'宁夏回族自治区',
34     65:'新疆维吾尔自治区',
35     71:'台湾省',
36     81:'香港特别行政区',
37     91:'澳门特别行政区'
38 }
39  
40 def decide(cardID):
41     province=cardID[0:2]
42     birthdayYear=cardID[6:10]
43     localYear=time.strftime('%Y')
44     age=int(localYear)-int(birthdayYear)
45     sex=cardID[16:17]
46     print("省份为:", provinces.get(int(province)))
47     print("年龄为:{}".format(age))
48     if int(sex)%2==0:
49         print("性别:女")
50     else:
51         print("性别,男")
52 cardID=input("请输入身份证号:")
53 decide(cardID)

 

4、用字符串操作生成python文档各库的网址(起始网址在这里https://docs.python.org/3.6/library/index.html)

1 a = "https://docs.python.org/3.6/library/"
2 b = ".html"
3 c = input("请输入库名:")
4 print("网址为:%s%s%s"%(a,c,b))

5、练习字符串的+,*,in,len(),eval()

1 print("No!"*3)
2 
3 s="my name is "
4 t="young!"
5 print(s+t)
6 
7 p="hello boy"
8 for i in range(len(s)):
9   print(i,s[i])

 

 

 

posted @ 2017-09-14 11:39  27杨华星  阅读(274)  评论(0编辑  收藏  举报