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

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

1. 用循环画五角星

1 from turtle import *
2 for i in range(5):
3     forward(200)
4     right(144)

 

2. 用循环画同心圆

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

3. 用while循环画太阳花

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

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

1 from turtle import *
 2 def huanwei(x,y):
 3     pu()
 4     goto(x,y)
 5     pd()
 6     
 7 def wujiaoxing():
 8     for i in range(5):
 9         forward(100)
10         right(144)
11 
12 for i in range(5):
13     huanwei(-(i*100),0)
14     wujiaoxing()

 

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

 

 1 import turtle
 2 
 3 def draw_diamond(brad):
 4     brad.forward(100)
 5     brad.right(45)
 6     brad.forward(100)
 7     brad.right(135)
 8 
 9 def draw_art():
10     
11     window=turtle.Screen()
12     window.bgcolor("white")
13     
14     brad=turtle.Turtle()
15     brad.shape("turtle")
16     brad.color("orange")
17     brad.speed("fastest")
18 
19 
20     for i in range(0,36):
21         draw_diamond(brad)
22         draw_diamond(brad)
23         brad.left(10)
24 
25     brad.right(90)
26     brad.forward(155)
27     brad.color('green')
28     brad.forward(145)
29 
30     window.exitonclick()
31 
32 draw_art()

二、字符串操作

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

 1 def shibie(studentID):
 2     if len(studentID)<12:
 3         print("请输入正确的学号!")
 4     elif studentID.isdigit() != True:
 5         print("请输入正确的学号!")
 6     else:
 7         grade = studentID[0:4]
 8         profession = studentID[4:8]
 9         order = studentID[10:12]
10         print("年级:{}级".format(grade))
11         if profession == "0611":
12             print("专业:网络工程")
13         print("序号:{}".format(order))
14 
15 studentID = input("请输入学号:")
16 shibie(studentID)

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

 1 def xq(xqj):
 2     xqj = int(xqj)
 3     if 0<xqj<8:
 4         str = "星期一星期二星期三星期四星期五星期六星期日"
 5         xq = str[(xqj-1)*3:(xqj-1)*3+3]
 6         print("{} 是 {}".format(xqj,xq))
 7     else:
 8         print("请输入正确数字!")
 9 
10 xqj = input("输入1-7的数字:")
11 xq(xqj)

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

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

 

posted @ 2017-09-13 19:08  19梁浩然  阅读(180)  评论(0编辑  收藏  举报