python循环画图和容器类型-例题

1

请用tuetle画出下图
在这里插入图片描述

import turtle

t = turtle.Pen()
turtle.screensize(1000,1000,"black")
colors=["red","yellow","blue","green","brown"]

for i in range(50):
    t.pencolor(colors[i % 5])
    t.write("max",font=("Arial",int((i+4)/4),"bold"))
    t.left(360/5+2)
    t.penup()
    t.forward(i*6)
    t.pendown()


turtle.exitonclick()

2

画随机50个螺旋线
提示:(1)位置随机(范围是:-300,300)
(2)大小随机(范围是:10-40)

import turtle
import random

t = turtle.Pen()

colors = ['red', 'yellow', 'blue', 'green', 'orange', 'purple',
'white', 'gray']

for i in range(50):
    c = random.randint(10, 40)
    x = random.randint(-300, 300)
    y = random.randint(-300, 300)
    t.pencolor(colors[i % 8])
    t.penup()
    t.goto(x, y)
    t.pendown()
    for k in range(c):
        t.forward(k)
        t.left(90)
turtle.exitonclick()

3

利用推导式完成:已有一个 list2 = [1, 2, 3, 4, ‘d’, ‘a’, ‘b’,
‘c’,5,6] ,筛选出列表中的 偶数数字

list1 = [1, 2, 3, 4, 'd', 'a', 'b','c',5,6]
list2 = [i for i in list1 if type(i)==type(1) and i%2==0]

print(list2)

4

小朋友们在玩报数游戏。从1开始报数,除了报到3的倍数或含有3的数字时,每次报数都需要鼓掌。假设报数到第n次,结束游戏,那么小朋友们需要鼓掌多少次呢?

import easygui

n = eval(easygui.enterbox("请输入n"))
count = 0
for i in range(n+1):
    x = str(i)
    if i%3==0 or '3' in list(x):
        continue
    count +=1
easygui.msgbox("总共鼓掌了:%d" % count)

5

1、仿照课堂案例,完成书本信息的管理,包含以下功能:
(1)创建一个书本库list,里面准备存放多本书本信息
(2)初始添加3本书本信息(包含书名、书号、书单价、
书的库存数量)
(3)统计书本库库存总数量
(4)统计书本库库存总金额
(5)查找一本c语言程序设计的书,若存在则输出该书详
细内容
(6)完成书本入库功能
(7)完成删除书本功能

import easygui

def addBook(num,list):
    """
    添加书籍
    :param num: 要添加几本书
    :param list: 存放的书
    """
    for i in range(num):
        book = easygui.enterbox("请输入书名")
        price = easygui.enterbox("请输入书单价")
        inventory = easygui.enterbox("请输入书库存")

        list.append({'名称': book, '单价': price, '库存': inventory})
        print("书名\t单价\t库存")
    for i in range(len(list)):
        for j in list[i].values():
            print(j, end="\t")
        print()

def findBook(k):
    """
    查找书籍
    :param k:要查找书的名字
    """
    for i in list:
        if i["名称"] == k:
            print('名称', i['名称'], '单价', i['单价'], '库存', i['库存'])
            break
    else:
        easygui.msgbox("没有找到该书籍")

def delectBook(k):
    """
    删除书籍
    :param k:要删除书的名字
    """
    for i in range(len(list)):
        if list[i]["名称"] == k:
            del list[i]
            easygui.msgbox("删除成功")
            break
    else:
        easygui.msgbox("没有找到该书籍")

list = []
dict1 = {'名称':'c语言程序设计','单价':23,'库存':100}
dict2 = {'名称':'python','单价':23,'库存':100}
dict3 = {'名称':'java','单价':23,'库存':100}
list.append(dict1)
list.append(dict2)
list.append(dict3)

num = eval(easygui.enterbox("请输入要添加几本书"))
addBook(num,list)

#查找书籍
k = easygui.enterbox("请输入要查找的书名")
findBook(k)

# 删除书籍
k = easygui.enterbox("请输入要删除的书名")
delectBook(k)

#  统计书本库库存总数量
number = 0
for i in list:
    number +=i['库存']
print("总库存为:",number)

#  库存总金额
number = 0
for i in list:
    number +=i['库存']*i['单价']
print("总库存金额为:",number)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值