鱼C论坛

 找回密码
 立即注册
查看: 1985|回复: 1

[见证历程] 已经连续学习两周

[复制链接]
发表于 2019-9-12 16:19:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 没有退路了 于 2019-9-18 17:14 编辑
def chaxun(x=''):
    if x in mydict:
        print(x,mydict.get(x),sep=" : ")
    else:
        print('查无此人')
    
def charu(y='',z=''):
        mydict.update({y:z}) # 另一种写法 mydict[y]=z

def shanchu(q=''):
    if q in mydict:
        del mydict[q] # 另一种写法mydict.pop(q)
        print('已删除联系人:%s' % q)
    else:
        print('查无此人')
        
print('!---欢迎进入通讯录程序---!','!---1:查询联系人资料 ---!','!---2:插入新的联系人 ---!','!---3:删除已有联系人 ---!','!---4:退出通讯录程序 ---!',' ',sep='\n')

#读入通讯录
mydict=dict()
with open(r'C:\Users\lenovo\Desktop\练习题\通讯录.txt','r') as file:
    for line in file:
        print(line)
        line=line.strip()
        key=line.split()[0]
        value=line.split()[1]
        mydict[key]=value
    file.close()
    print(mydict)

while 1:
    zhiling=int(input('\n请输入相关的指令代码:'))
    if zhiling in {1,2,3,4}:
        if zhiling==1:
            temp1=input('请输入联系人姓名: ')
            chaxun(temp1)
            continue
        if zhiling==2:
            temp2=input('请输入联系人姓名: ')
            if temp2 in mydict:
                print('你输入的姓名在通讯录中已存在-->>',temp2,' : ',mydict.get(temp2))
                if input('是否需要修改用户资料(y/n):')=='y':
                    temp3=input('请输入联系人电话: ')
                    charu(temp2,temp3)
                else:
                    continue
            temp3=input('请输入联系人电话: ')
            charu(temp2,temp3)
            continue
        if zhiling==3:
            temp4=input('请输入联系人姓名: ')
            shanchu(temp4)
            continue
        if zhiling==4:
            print('!---感谢使用通讯录程序---!')
            break
    else:
        print('指令接收错误')

#写入通讯录
with open(r'C:\Users\lenovo\Desktop\练习题\通讯录.txt','w') as file:
    for key,value in mydict.items():
        file.write(str(key)+' '+str(value)+'\n')
file.close()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-9-18 17:12:55 | 显示全部楼层
import random
import pygame as g
import sys
from pygame.locals import *

g.init()   # 初始化导入的所有pygame模块
screen=g.display.set_mode([300,300]) #初始化一个准备显示的界面
g.display.set_caption('copyright by 没有退路了') #定义窗口标题


background = g.image.load(r"dahai.png").convert()
fishImg = g.image.load(r"xiaoyu.png").convert_alpha()#左
wuguiImg = g.image.load(r"wugui.png").convert_alpha()#左
fishImg1 = g.image.load(r"xiaoyu1.png").convert_alpha()#右


w_width = wuguiImg.get_width()-5 #得到乌龟图片的宽度,后面留着吃鱼的时候用
w_height = wuguiImg.get_height()-5 #得到乌龟图片的高度
y_width = fishImg.get_width()-5 #得到鱼图片的宽度
y_height = fishImg.get_height()-5 #得到鱼图片的高度


#创建一个时钟
fpsClock=g.time.Clock()

boundary_x=[0,300]
boundary_y=[0,300]

class Turtle:
    def __init__(self):
        self.strength=1000
        self.x=random.randint(boundary_x[0],boundary_x[1])
        self.y=random.randint(boundary_y[0],boundary_y[1])

    def move(self):
        new_x=self.x+random.choice([-20,20])
        new_y=self.y+random.choice([-20,20])
            
        if new_x<boundary_x[0]:
            self.x=2*boundary_x[0]-new_x
        elif new_x>boundary_x[1]:
            self.x=2*boundary_x[1]-new_x
        else:
            self.x=new_x
            
        if new_y<boundary_y[0]:
            self.y=2*boundary_y[0]-new_y
        elif new_y>boundary_y[1]:
            self.y=2*boundary_y[1]-new_y
        else:
            self.y=new_y
        self.strength-=1
        return (self.x,self.y)

    def eat(self):
        self.strength+=20
        if self.strength>1000:
            self.strength=1000

class Fish:
    def __init__(self):
        self.x=random.randint(boundary_x[0],boundary_x[1])
        self.y=random.randint(boundary_y[0],boundary_y[1])
        self.speed=5
        self.Img=fishImg1

    def move(self):
        new_x=self.x+self.speed
        new_y=self.y+random.choice([-1,0,1])
        
        if new_x<boundary_x[0]:
            self.x=2*boundary_x[0]-new_x
            self.speed=-self.speed
            if self.speed>0:
                self.Img=fishImg1
            else:
                self.Img=fishImg
        elif new_x>boundary_x[1]:
            self.x=2*boundary_x[1]-new_x
            self.speed=-self.speed
            if self.speed>0:
                self.Img=fishImg1
            else:
                self.Img=fishImg
        else:
            self.x=new_x
            
        if new_y<boundary_y[0]:
            self.y=2*boundary_y[0]-new_y
        elif new_y>boundary_y[1]:
            self.y=2*boundary_y[1]-new_y
        else:
            self.y=new_y
        
        return (self.x,self.y)

turtle=Turtle()
fishlist=[]
for i in range(10):
    newfish=Fish()
    fishlist.append(newfish)
    
while 1:
    for event in g.event.get():
        if event.type==g.QUIT:
            print('QUIT')
            g.quit()
            sys.exit()

    screen.blit(background, (0, 0)) #绘制背景图片

    for each_f in fishlist:
        screen.blit(each_f.Img,(each_f.x,each_f.y))
        each_f.move()
    
    zuobiao=turtle.move()
    screen.blit(wuguiImg,(zuobiao))

    if not len(fishlist):
        break
    if not turtle.strength:
        print('die')
        break
    
    for each_fish in fishlist[:]:
        if (zuobiao[0]<each_fish.x+y_width) and (zuobiao[0]+w_width)>each_fish.x and (zuobiao[1]<each_fish.y+y_height) and (zuobiao[1]+y_height>each_fish.y) :
            turtle.eat()
            print('eat one fish')
            fishlist.remove(each_fish)

    g.display.update()
    fpsClock.tick(11)
    
g.quit()
sys.exit()      
xiaoyu1.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 04:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表