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

Posted 20-陈广林

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了条件循环函数定义字符串操作练习相关的知识,希望对你有一定的参考价值。

要求:

  1. 注意标准库的两种导入与使用方式,建议大家采用<库名>.<函数名>的方式。
  2. 对前面的代码进行优化,用for,while,if,def实现:
    1. 用循环画五角星
    2. 用循环画同心圆
    3. 用while循环画太阳花
    4. 用函数定义画五个五角星
    5. 用函数定义画钻石花瓣的太阳花
  3. 字符串操作
    1. 输入学号,识别年级、专业、序号。
    2. 输入1-7的数字,输出对应的“星期几”。
    3. 识别身份证号中的省市区、年龄、性别

作答:

1用循环画五角星

turtle.begin_fill()
for i in range(5):
    turtle.forward(100)
    turtle.right(144)

turtle.end_fill

2用循环画同心圆

from turtle import*

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

 

3用while循环画太阳花

复制代码
color(\'red\',\'yellow\')
begin_fill()
while True:
    forward(200)
    left(170)
    if abs(pos())<1:
        break
end_fill()
don

 

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

import turtle

turtle.setup(600,400,0,0)

turtle.color("yellow")
turtle.bgcolor("red")
turtle.fillcolor("yellow")

def yyj_goto(x,y):
    turtle.up()
    turtle.goto(x,y)
    turtle.down()
    
def yyj_draw(r):  
    turtle.begin_fill()
    for i in range(5):
        turtle.forward(r)
        turtle.right(144)
    turtle.end_fill()
    
yyj_goto(-600,220)
yyj_draw(150)

yyj_goto(-400,295)
yyj_draw(50)

yyj_goto(-350,212)
yyj_draw(30)

yyj_goto(-350,145)
yyj_draw(30)

yyj_goto(-400,90)
yyj_draw(30)

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

 from turtle import *
 2 def draw_lx():
 3     for i in range(1,3):
 4         forward(100)
 5         right(45)
 6         forward(100)
 7         right(135)
 8 
 9 def draw_zsh():
10     speed(10)
11     color(\'red\',\'yellow\')
12     begin_fill()
13     for i in range(36):
14         draw_lx()
15         right(10)
16     end_fill()
17 
18 draw_zsh()

 

字符串操作

  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的数字,输出对应的“星期几”。
    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. 识别身份证号中的省市区、年龄、性别

 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)
 

 

以上是关于条件循环函数定义字符串操作练习的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

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

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