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

注意标准库的两种导入与使用方式,建议大家采用<库名>.<函数名>的方式。 对前面的代码进行优化,用for,while,if,def实现:

  1. 注意标准库的两种导入与使用方式,建议大家采用<库名>.<函数名>的方式。
  2. 对前面的代码进行优化,用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('性别:男')
  

原文地址:https://www.cnblogs.com/millmill/p/7513504.html