条件、循环、函数定义、字符串操作练习
一、注意标准库的两种导入与使用方式
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])
演示效果: