条件、循环、函数定义、字符串操作练习
1、注意标准库的两种导入与使用方式,建议大家采用<库名>.<函数名>的方式。
2、对前面的代码进行优化,用for,while,if,def实现:
a、用循环画五角星
from turtle import* color("red") fillcolor("red") begin_fill() while True: forward(200) right(144) if abs(pos())<1: break end_fill()
效果图:
b、用循环画同心圆
import turtle turtle.color('red') for i in range(4): turtle.up() turtle.goto(0,-40*(i+1)) turtle.down() turtle.circle(40*(i+1))
效果图:
c、用while循环画太阳花
from turtle import * color('red','yellow') begin_fill() while True: forward(200) left(170) if abs(pos())<1: break end_fill() done()
效果图:
d、用函数定义画五个五角星
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)
效果图:
e、用函数定义画钻石花瓣的太阳花
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()
2、字符串操作
a、输入学号,识别年级、专业、序号。
sid=input("学号是:") g=sid[2:4] p=sid[4:8] t=sid[-2:] print("年级:{}级".format(g)) if p=="0611": print("专业:网络工程") print("序号:{}".format(t))
b、输入1-7的数字,输出对应的“星期几”。
s = "星期一星期二星期三星期四星期五星期六星期日" i = int(eval(input("请输入1-7的数字:"))) if(i>7): print("输入的数字为无效数字") print(s[3*(i-1):3*i])
c、识别身份证号中的省市区、年龄、性别。
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)+"岁")
d、用字符串操作生成python文档各库的网址(起始网址在这里https://docs.python.org/3.6/library/index.html)
i="https://docs.python.org/3.6/library/index" j=".html" add=i+j print(add)
e、练习字符串的+,*,in,len(),eval()