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

一、注意标准库的两种导入与使用方式

1、第一种方式

 

import turtle
turtle.color("red")
turtle.fillcolor("yellow")
turtle.begin_fill()
turtle.up()
turtle.goto(-100,0)
turtle.down()
for i in range(3):
    turtle.forward(200)
    turtle.left(120)
turtle.end_fill()

 

演示效果:

 

2、第二种方式

 

from turtle import *
color("yellow")
fillcolor("red")
begin_fill()
up()
goto(-100,0)
down()
for i in range(3):
    forward(200)
    left(120)
end_fill()

 

演示效果:

 

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

1、用循环画五角星

 

import turtle
turtle.color("yellow")
turtle.fillcolor("yellow")
turtle.begin_fill()
for i in range(5):
     turtle.forward(100)
     turtle.right(144)
turtle.end_fill()

演示效果:

 

2、用循环画同心圆

 

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

 

演示效果:

3、用while循环画太阳花

 

import turtle
turtle.fillcolor("yellow")
turtle.begin_fill()
while True:
    turtle.forward(200)
    turtle.left(170)
    if(abs(turtle.pos())<1):
        break
turtle.end_fill()

 

演示效果:

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

 

import turtle
turtle.setup(600,400,0,0)
turtle.bgcolor("red")
turtle.color("yellow")
turtle.fillcolor("yellow")
def z_goto(x,y):
    turtle.up()
    turtle.goto(x,y)
    turtle.down()
def z_draw(m,n):
    turtle.begin_fill()
    for i in range(5):
        turtle.forward(m)
        turtle.left(n)
    turtle.end_fill()
    
z_goto(-270,120)
z_draw(100,-144)

z_goto(-140,150)
turtle.left(10)
z_draw(30,144)

z_goto(-100,110)
turtle.right(18)
z_draw(30,144)

z_goto(-100,60)
turtle.left(10)
z_draw(30,-144)

z_goto(-135,10)
turtle.left(10)
z_draw(30,144)

 

演示效果:

 

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

 

import turtle
turtle.color("yellow")
turtle.fillcolor("red")
turtle.begin_fill()
def draw(t):
   t.fd(80)
   t.right(45)
   t.fd(80)
   t.right(135)
for i in range(36):
    draw(turtle)
    draw(turtle)
    turtle.left(10)
turtle.end_fill()

 

演示效果:

 

三、字符串操作

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

 

id = input("请输入学生的学号:")
print("该生年级为:%s 专业为:%s 班级学号为:%s"%(id[0:4],id[4:8],id[8:]))

 

演示效果:

 

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

 

s = "星期一星期二星期三星期四星期五星期六星期日"
i = int(eval(input("请输入1-7的数字:")))
if(i>7):
  print("输入的数字为无效数字")
print(s[3*(i-1):3*i])

 

演示效果:

 

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

 

id = input("请输入身份证号:")
if len(id)!=18:
    print("无效身份证!")
    exit(0)
else:
    address=int(id[0:6])
    year=int(id[6:10])
    sex=int(id[17])
if address==440000:
    print("省市区为:广东省")
elif address==440100:
    print("省市区为:广东省广州市")
elif address==440101:
    print("省市区为:广东省广州市市辖区")
elif address==440102:
    print("省市区为:广东省广州市东山区")
elif address==440103:
    print("省市区为:广东省广州市荔湾区")
elif address==440104:
    print("省市区为:广东省广州市越秀区")
elif address==440105:
    print("省市区为:广东省广州市海珠区")
elif address==440106:
    print("省市区为:广东省广州市天河区")
elif address==440107:
    print("省市区为:广东省广州市芳村区")
elif address==440111:
    print("省市区为:广东省广州市白云区")
elif address==440112:
    print("省市区为:广东省广州市黄埔区")
elif address==440181:
    print("省市区为:广东省广州市番禺区")
elif address==440182:
    print("省市区为:广东省广州市花都区")
elif address==440183:
    print("省市区为:广东省广州市增城区")
elif address==440184:
    print("省市区为:广东省广州市从化区")
else:
    print("无法查到信息!")#不在广东省广州市内的
    exit(0)
if sex%2==0:
    print("性别为:女性")
else:
    print("性别为:男性")
print("您今年%d"%(2017-year)+"")

 

演示效果:

 

 

4、用字符串操作生成python文档各库的网址

 

s = "https://docs.python.org/3.6/library/"
m = ".html"
n = input("请输入关键英文:")
print("生成的网址为:%s%s%s"%(s,n,m))

 

演示效果:

 

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

 a、字符串“+”的用法

 

s = "https://docs.python.org/3.6/library/"
m = ".html"
n = input("请输入关键英文:")
print("生成的网址为:%s"%(s+n+m))

 

演示效果:

 

b、字符串“*”的用法

 

print("努力学习python!"*5)

 

演示效果:

 

 

c、字符串“in”的用法

 

d、字符串“len()”的用法

 

s = "Hello World!"
for i in range(len(s)):
    print(i,s[i])

 

演示效果:

 

 

e、字符串“eval()”的用法

s = "星期一星期二星期三星期四星期五星期六星期日"
i = int(eval(input("请输入1-7的数字:")))
if(i>7):
  print("输入的数字为无效数字")
print(s[3*(i-1):3*i])

 

演示效果:

 

posted on 2017-09-14 17:30  ZJQ-013  阅读(200)  评论(0编辑  收藏  举报