条件、循环、函数定义、字符串操作练习
注意标准库的两种导入与使用方式,建议大家采用<库名>.<函数名>的方式。 对前面的代码进行优化,用for,while,if,def实现:
- 注意标准库的两种导入与使用方式,建议大家采用<库名>.<函数名>的方式。
- 对前面的代码进行优化,用for,while,if,def实现:
①、用循环画五角星
from turtle import * fillcolor("red") begin_fill() while True: forward(200) right(144) if abs(pos())<1: break end_fill()
②、用循环画同心圆
from turtle import* for i in range(5): up() goto(0,-25*(i+1)) down() circle(25*(i+1))
③、用while循环画太阳花
from turtle import * color('red','yellow') begin_fill() while True: forward(200) left(170) if abs(pos())<1: break end_fill() done()
④、用函数定义画五个五角星
方法一
import turtle
#turtle.setup(600,400,0,0)
turtle.bgcolor("red")
turtle.fillcolor("yellow")
turtle.color("yellow")
turtle.speed(10)
def my_goto(x,y):
turtle.up()
turtle.goto(x,y)
turtle.down()
def my_draw5(z):
turtle.begin_fill()
for i in range (5):
turtle.forward(z)
turtle.right(144)
turtle.end_fill()
def my_goto2(b,d,u):
turtle.up()
turtle.goto(b,d)
turtle.setheading(u)
turtle.down()
#主星
my_goto(-600,220)
my_draw5(150)
#第1颗副星
my_goto2(-400,295,305)
my_draw5(50)
#第2颗副星
my_goto2(-350,212,30)
my_draw5(50)
#第3颗副星
my_goto2(-350,145,5)
my_draw5(50)
#第4颗副星
my_goto2(-400,90,250)
my_draw5(50)
#方法二
import turtle
turtle.bgcolor("red")
turtle.fillcolor("yellow")
turtle.color("yellow")
#turtle.speed(10)
#主星
turtle.up()
turtle.goto(-600,220)
turtle.down()
turtle.begin_fill()
for i in range (5):
turtle.forward(150)
turtle.right(144)
turtle.end_fill()
#第1颗副星
turtle.begin_fill()
turtle.up()
turtle.goto(-400,295)
turtle.setheading(305)
turtle.down()
for i in range (5):
turtle.forward(50)
turtle.left(144)
turtle.end_fill()
#第2颗副星
turtle.begin_fill()
turtle.up()
turtle.goto(-350,212)
turtle.setheading(30)
turtle.down()
for i in range (5):
turtle.forward(50)
turtle.right(144)
turtle.end_fill()
#第3颗副星
turtle.begin_fill()
turtle.up()
turtle.goto(-350,145)
turtle.setheading(5)
turtle.down()
for i in range (5):
turtle.forward(50)
turtle.right(144)
turtle.end_fill()
#第4颗副星
turtle.begin_fill()
turtle.up()
turtle.goto(-400,90)
turtle.setheading(300)
turtle.down()
for i in range (5):
turtle.forward(50)
turtle.left(144)
turtle.end_fill()
⑤、用函数定义画钻石花瓣的太阳花
import turtle def draw_diamond(brad): brad.forward(90) brad.right(45) brad.forward(90) brad.right(135) def draw_art(): window=turtle.Screen() window.bgcolor("green") brad=turtle.Turtle() brad.shape("turtle") brad.color("red") brad.speed("fastest") for i in range(1,37): draw_diamond(brad) draw_diamond(brad) brad.left(10) brad.right(90) brad.forward(155) brad.color('blue') brad.forward(145) window.exitonclick() draw_art()
字符串操作
①、输入学号,识别年级、专业、序号。
a=input("请输入学号:")
print("你的年级是{}级".format(a[0:4]))
print("你的班级是会计一班")
print("你在班级的序号是{}".format(a[-2:]))
②、输入1-7的数字,输出对应的“星期几”。
s='星期一星期二星期三星期四星期五星期六星期日' a=int(input("输入数字(1-7):")) print(s[-3+3*a:0+3*a])
③、识别身份证号中的省市区、年龄、性别。
ID=input('请输入十八位身份证号码: ') if len(ID)==18: print("你的身份证号码是 "+ID) else: print("错误的身份证号码") ID_add=ID[0:6] ID_birth=ID[6:10] ID_sex=ID[14:17] if int(ID_add)==440101: print("省市区:广东省广州市市辖区") elif int(ID_add)==440102: print("省市区:广东省广州市东山区") elif int(ID_add)==440103: print("省市区:广东省广州市荔湾区") elif int(ID_add)==440104: print("省市区:广东省广州市越秀区") elif int(ID_add)==440105: print("省市区:广东省广州市海珠区") elif int(ID_add)==440106: print("省市区:广东省广州市天河区") birth=2017-int(ID_birth[0:4]) print("年龄:{}".format(birth)) if int(ID_sex)%2==0: print('性别:女') else: print('性别:男')