У меня есть проект курса (он завершен, нет, я не прошу, чтобы кто-нибудь сделал работу за меня), он требует от меня обращения экземпляра объекта (firstObj01 (str) -> secondobj02 (str)).Я попытался использовать экземпляр в кортеже, словаре, различных циклах и т. Д. Я нашел метод записи / чтения, который будет делать это для уже известных значений (запись в файл первого экземпляра заменяется вторым экземпляром).Первый код - это код, который я никак не могу изменить.
#DO NOT MODIFY THE CODE IN THIS FILE
#File: Proj03.py
from Proj03Runner import Runner
import turtle
import random
window = turtle.Screen()
turtle.setup(300,300)
rand = random.randrange(0,2) #get a random number
#set object's colors based on the random number
if(rand%2==0):
#rand is even
color01 = "red"
color02 = "green"
else:
#rand is odd
color01 = "green"
color02 = "red"
objA = Runner(color01) #create one object
objB = Runner(color02) #create a second object
#Call the run method on each object and unpack
# the tuple that is returned.
colorA,turtleA,yourName = objA.run()
colorB,turtleB,yourName = objB.run()
window.title(yourName)
#Manipulate the turtles to draw a picture.
turtleA.color(colorA)
turtleA.forward(50)
turtleA.circle(50)
turtleB.color(colorB)
turtleB.right(180)
turtleB.forward(50)
turtleB.circle(50)
tempTurtle = turtle.Turtle()
tempTurtle.shape("turtle")
tempTurtle.left(90)
tempTurtle.color(color01)
tempTurtle.stamp()
#Pause and wait for the user to dismiss the window.
window.mainloop()
и код, который я разработал:
import turtle
import os
if os.path.exists("floresK909112.txt"):
os.remove("floresK909112.txt")
print ("operation performed")
class Runner:
def __init__(self, color):
self.color = color
self.name = "Flores"
def turt():
a = turtle.Turtle("turtle")
a.pensize(3)
a.color()
return a
def appendB(self):
b = open("floresK909112.txt", "a")
b.write(self.color + '\n')
b.close()
def readB(self, a):
b = open("floresK909112.txt", "r")
line = b.readline()
count = (len(line))
if count >5:
self.color = "red"
b.close()
return (self.color, a, self.name)
else:
self.color = "green"
b.close()
return (self.color, a, self.name)
def run(self):
a = Runner.turt()
b = Runner.appendB(self)
c = Runner.readB(self, a)
return c
Опять же, я не ищу никого, кто бы сделал мою домашнюю работу.Есть ли способ сделать это с;теневое копирование, все циклы, кроме цикла while, словаря или любого другого (базового) процесса?Конечный продукт - два круга одного цвета, а черепаха - первый цвет.Код profs требует распаковки двух кортежей, и у большинства процессов, которые я использовал, были проблемы с возвратом нескольких аргументов.(3 аргумента требуется 2 дано), при использовании списков, преобразованных в строки и переданных в кортеже, он не вернул достаточно аргументов.То же самое с двумерным кортежем.Я попытался найти различные формы теневого копирования и другие методы, которые я упомянул, но не смог отнести их к этому сценарию.Я был бы более чем счастлив искать репетиторство в колледже ... однако, я в настоящее время не в стране и не имею никаких других средств.Заранее спасибо:)!