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

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

1、用循环画五角星

from turtle import *
for i in range(5):
     forward(100)
     right(144)

 

2、用循环画同心圆

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

3、用wlile循环画太阳花

from turtle import *
color('red','yellow')
begin_fill()
while True:
    forward(200)
    left(170)
    if(abs(pos()))<1:
        break
end_fill()
done()

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

from turtle import *
setup(600,400,0,0)
color("yellow")
bgcolor("red")
fillcolor("yellow")

def point(x,y):
    up()
    goto(x,y)
    down()
    
def star(r):
    begin_fill()
    for i in range(5):
        forward(r)
        right(144)
    end_fill()

point(-250,95)
star(90)

point(-150,180)
star(40)

point(-100,130)
star(40)

point(-100,50)
star(40)

point(-150,0)
star(40)

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

from turtle import *
color("red")
speed(10)

def a ():
    forward(100)
    left(45)
    forward(100)
    left(135)

for i in range(36):
    a()
    a()
    right(10)

pensize(10)
right(90)
forward(400)

 

二、字符串操作

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

n = input("请输入学号:")
#201406114430
print("年级为:{}级".format(n[2:4]))
print("专业为:{}".format(n[4:10]))
print("学号为:{}号".format(n[10:]))

 

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

s = "星期一星期二星期三星期四星期五星期六星期日"  
n =int(input("请输入数字(1-7):"))
if (0 < n <8):
    print(s[((n-1)*3):(n*3)])
else :
    print("输入错误")

 

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

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

 

posted on 2017-09-14 11:20  30李国春  阅读(151)  评论(0编辑  收藏  举报

导航