목록 새로 고침을 시도 할 때 파이썬의 특정 동작을 이해하지 못합니다. 나는 작은 프로젝트에 갇혀 있기 때문에 그것을 알아 내려고 노력합니다.
다음은 코드입니다 (프로젝트 코드가 아니라 문제를 보여주는 코드 일뿐입니다).
import time
time_1 = [1,2,3,4,5]
time_change = time_1
def test():
global time_change
time_change.remove(1)
print(time_change)
time.sleep(10)
time_change = time_1
print(time_change)
# What i would like to have is time_change = time_1
test()
# -*- coding: utf-8 -*-
# Les imports
import time
import random
# ===========================================================
# Déclarations des variables globales.
event_type_architecture = " Le secteur de l'architecture. "
event_type_graphisme = " Le secteur du graphisme. "
event_type_developper = " Le secteur du développement. "
event_type_garage = " Le secteur de l'automobile. "
event_type_charpentier = " Le secteur de la charpentrie. "
event_type_avocat = " Le secteur des avocats. "
event_type_medecin = " Le secteur des médecins "
# event_nb_secteurs HERE !
event_tt = [random.randint(1,6)]
event_nb_secteurs = list(event_tt)
types_secteurs = [event_type_architecture , event_type_developper , event_type_graphisme
, event_type_garage , event_type_charpentier, event_type_avocat , event_type_medecin ]
types_secteurs_change = list(types_secteurs)
event_types_secteurs = random.choice(types_secteurs_change)
# ===========================================================
# differents events
def event_crise_economique():
print(" \n Une crise économique sévira dans " + str(event_nb_secteurs) +
# I want event_nb_secteurs to go to his initial value wich is random.randint(1,6) but doesnt work always print same event_nb_secteurs number.
" secteurs qui sont....\n")
print(event_nb_secteurs)
time.sleep(5)
event_types()
def event_coupure_electricite():
print(" \n Une coupure de courant va arriver dans " + str(event_nb_secteurs) +
" secteurs qui sont.... \n")
time.sleep(5)
event_types()
def event_types():
global types_secteurs_change
global event_nb_secteurs
if event_nb_secteurs == 0 :
quit
for ev_types in range(event_nb_secteurs[0]) :
event_types_secteurs = random.choice(types_secteurs)
if event_types_secteurs in types_secteurs_change :
print(event_types_secteurs)
types_secteurs_change.remove(event_types_secteurs)
event_nb_secteurs = list(event_tt)
types_secteurs_change = list(types_secteurs)
# Le vrai event :
def event ():
random_event = False
nb_hasard = random.randint(9,11)
if nb_hasard >= 9 :
print("\n Oh non ! un évènement va arriver !")
event_random = random.randint(1,4)
if event_random == 1 :
event_coupure_electricite()
elif event_random == 2 :
event_crise_economique()
else :
print("C bon y a r")
for i in range(10):
event()
내가 말했듯이 당신은 event_nb_secteurs에만 집중할 필요가 있습니다. 다음과 같은 초기 값을 사용하고 싶습니다. random.randint (1,6) 그러나 작동하지 않습니다.
을 수행 time_change = time_1
하면 변수가으로 time_change
가리키는 동일한 목록을 가리 킵니다. time_1
이는 별칭 일 뿐이며 대부분 복사본을 만들고 싶습니다.
time_1 = [1, 2, 3, 4, 5]
time_change = list(time_1)
def test(): # no need to pause the code, it runs the same without
global time_change
time_change.remove(1)
print(time_change)
time_change = list(time_1)
print(time_change)
>> test()
[2, 3, 4, 5]
[1, 2, 3, 4, 5]
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다