AttributeError:'str'对象没有属性'TimeUD'变量调用

时间:2018-07-19 00:38:35

标签: python python-3.x

我一直在尝试创建一个非常简单的程序时遇到此问题。在另一个名为“时间线”的文件中(我确实导入了该文件),我有一个名为“ TimeUD”的变量。当用户在checkAction()中输入的是“ Universal Development”时,应该打印此字符串。但是相反,它给出了以下错误:

Traceback (most recent call last):
  File "C:\Users\****\Desktop\Universe-Simulation\simulation.py", line 84, in <module>
    turn1( 0.1 )
  File "C:\Users\****\Desktop\Universe-Simulation\simulation.py", line 39, in turn1
    checkAction()
  File "C:\Users\****\Desktop\Universe-Simulation\simulation.py", line 29, in checkAction
    print(timelines.TimeUD)
AttributeError: 'str' object has no attribute 'TimeUD'
>>>

我的程序的代码是:

import timelines
#x(forward-back) Axies
global x
x = 0
#y(left-right) Axies
global y
y = 0
#z(up) Axies
global z
z = 0
#t(time) Axies
global t
t = 0
#u(universe) Axies
global u
u = 1
#how much time moves by per-turn, string
global time_change
time_change = 'doggos'
#the timeline, nets of exctinction
timelines = 'Universal Development\nSolar Development\nPlanetary Development\nEvolution\nIntelligence\nContinental Drift\nSpeech\nReligion/Beliefs\nAgriculture\nTechnological Innovation\nSocial Politics\nCommunities\nCivilizations\nWar/Conflicts\nEconomy\nLaw\n----------------------------------------------'
global loop
def checkAction():
    ca_loop = 1
    while( ca_loop == 1 ):
        if turn_action == 'timeline':
            which_timeline = input("What timeline would you like to view?\n----------------------------------------------\n" + timelines + "\n[Timelines]~| ")
            if which_timeline == "Universal Development":
                print(timelines.TimeUD)
            else:
                print("~|Improper Input|~\n")
def turn1( tc ):
    t = 0
    global turn_action
    while ( loop == 1 or 2 or 3 or 4 or 5 or 6 or 7 or 8 ):
        t = t + tc
        print("The current " + time_change + "s is " + str(t))
        turn_action = input("~| ")
        checkAction()
        input("~|Press enter to continue to the next Time-Period|~")

loop_select = 1
while ( loop_select == 1 ):
    loop = int(input("~|Choose a time-change per turn|~\n\n~| "))
    if loop == 1:
        print("The time-change is set to miliseconds.\n\n")
        time_change = 'Milisecond'
        loop_select = 0
    elif loop == 2:
        print("The time-change is set to seconds.\n\n")
        time_change = 'Second'
        loop_select = 0
    elif loop == 3:
        print("The time-change is set to minutes.\n\n")
        time_change = 'Minute'
        loop_select = 0
    elif loop == 4:
        print("The time-change is set to hours.\n\n")
        time_change = 'Hour'
        loop_select = 0
    elif loop == 5:
        print("The time-change is set to days.\n\n")
        time_change = 'Day'
        loop_select = 0
    elif loop == 6:
        print("The time-change is set to months.\n\n")
        time_change = 'Month'
        loop_select = 0
    elif loop == 7:
        print("The time-change is set to years.\n\n")
        time_change = 'Year'
        loop_select = 0
    elif loop == 8:
        print("The time-change is set to cosmic seconds.(a really long time)")

        time_change = 'Cosmic Second'
        loop_select = 0
    elif loop == type.str:
        print("~|Improper Input|~")
    else:
        print("Input is currently inapplicable, try again.\n")

if loop == 1:
    turn1( 0.1 )
elif loop == 2 or 3 or 4 or 5 or 6 or 7 or 8:
    turn1( 1 )

并且:

#globalization
global TimeUD
global UD
global TimeSD
global SD
global TimePD
global PD
global TimeEv
global Ev
#Universal Development
TimeUD = "Universal Development ~ Timeline:\n\n|------------------------------------------------------------------------------|"
UD = "Universal Development -\nThe timeline of the universe's growth since creation. This timeline will include details about the particles created shortly after the Big Bang, and how they change and evolve until they can create matter. Aswell as the rate of expansion and other factors such as the first Singularities imploded."
#Solar Development
TimeSD = "Solar Development ~ Timeline:\n\n|----------------------------------------------------------------------------------------------------------------------|"
SD = "Solar Development -\nMainly the regarding the development of the sun of the Solar System focused upon, aswell the Solar System itself. This will included information about the solar systems size, planets, sun, and habitable planet(s)."
#Planetary Development
TimePD = "Planetary Development ~ Timeline:\n\n|----------------------------------------------------------------------------------------------------------------------|"
PD = "Planetary Development -\nThis timeline will contain information regarding the initial planet's stages of life. You will find information such as Asteroid Collisions, Vegetation Growth, Seismeic Activities -- the creation and destruction of land, volcanoes, Continental Plates and Positionings, large Seismic Events, and anything related to those -- Moons, and Oceans."
#Evolution
TimeEv = "Evolution ~ Timeline:\n\n|----------------------------------------------------------------------------------------------------------------------|"
Ev = "Evolution -\nDirectly regarding the dominating species of the simulation, the Evolution Timeline will contain information regarding all Evolutionary Events of the Species. Large, or moderate. This will also include Evolutionary Events that have happened when the Species was developing in water."
#Intelligence
TimeIn = "Intelligence ~ Timeline:\n\n|----------------------------------------------------------------------------------------------------------------------|"
In = "Intelligence -\nThe dominate species' level and evolution of their intelligence. This will also include information about the Species' big Philosophies in which highly intleligent variants created amongst the species throughout the species."
#Continental Drift
TimeCD = "Continental Drift ~ Timeline:\n\n|----------------------------------------------------------------------------------------------------------------------|"
CD = "Continental Drift -\nA more detailed timeline of the Planet's Continental Plates moving around throughout the ages. This will regard any large Seismic Events, any super-continentals made, and modern mapping of the planet's continents."
#Speech
TimeSp = "Speech ~ Timeline:\n\n|----------------------------------------------------------------------------------------------------------------------|"
Sp = "Speech -\nThe dominate species' linguistic development. This timeline will include any information regarding the species' languages, the evolution of those languages and parties that use those languages."
#Religion/Beliefs
TimeRB = "Religion/Beliefs ~ Timeline:\n\n|----------------------------------------------------------------------------------------------------------------------|"
RB = "Religion/Belief -\nThe particular belief system(s) put in place by the dominate species, will include Religions aswell as cults throughout all ages. This will also include general values of people, regarding how the way many of the species' will act and perform throughout their lifetime."
#Agriculture
TimeAg = "Agriculture ~ Timeline:\n\n|----------------------------------------------------------------------------------------------------------------------|"
Ag = "Agriculture -\nThis timeline will include information regarding the true first forms of Agriculture, tools and methodology througout the ages. Also the kind of vegetation that is planted on a regard basis."
#Technological Innovation
TimeTI = "Technological Innovation ~ Timeline:\n\n|----------------------------------------------------------------------------------------------------------------------|"
TI = "Technological Innovation-\nAll forms of technologies, tools, and methodology for construction or invention will be put here. This will also include the inventors and/or team behind developing all technology. Also inspiration behind the creations and what it's creator(s) intended for it to do or be of use for."
#Social Politics
TimeSP = "Social Politics ~ Timeline:\n\n|----------------------------------------------------------------------------------------------------------------------|"
SP = "Social Politics -\nThe dominate species' social dynamics. This will include the development and creation of morals, general beliefs and how power is easily gained through social means. Also will contain geography in regard for accents, slang, usage of words and any swear word(s) if they reside. This timeline will also include information about sections of society and details regarding them -- via Lower Class, Middle Class, Upper Class."
#Communities
TimeCo = "Communities ~ Timeline:\n\n|----------------------------------------------------------------------------------------------------------------------|"
Co = "Communities -\nInformation regarding small to large parties of the species' that share at least two of the three communal factors, those factors being as listed: a similar geographical location, similar beliefs and values, and that the party does tasks or performs actions together."
#Civilizations
TimeCi = "Civilizations ~ Timeline:\n\n|----------------------------------------------------------------------------------------------------------------------|"
Ci = "Civilizations -\nAny communities that have the eight Pillars of Civilization, consisting as follows: Public Work-force, Organized Government, Social Policy, Geographical Location, Technological Innovation, Complex Religion/Belief System, Social Dynamics, Martial Arts -- Painting, dance, etc -- and usage of Literature -- Recordings, plus semi-advanced communication relative to humanity via Letters. And information regarding those parties."
#War/Conflicts
TimeWC = "War/Conflicts ~ Timeline:\n\n|----------------------------------------------------------------------------------------------------------------------|"
WC = "War/Conflicts -\nConfliction between societie(s), whether it's a Community or a Civilization. Dates and large events in the wars will be included aswell."
#Economy
TimeEc = "Economies ~ Timeline:\n\n|----------------------------------------------------------------------------------------------------------------------|"
Ec = "Economies -\nSocieties -- whether Communities or Civilizations -- and their economic value. This will include economic growth by percentage, economic relationships and net-changes of societies. Aswell as their Currency in store."
#Law
TimeLa = "Law/Justice System(s) ~ Timeline:\n\n|----------------------------------------------------------------------------------------------------------------------|"
La = "Law/Justice System(s) -\nSocieties -- whether Communities or Civilizations -- and their Justice System. This will include development regarding laws, punishments, form of judgment, and evolution of a Society's moral code."

#print(UD + "\n\n" + SD + "\n\n" + PD + "\n\n" + Ev + "\n\n" + In + "\n\n" + CD + "\n\n" + Sp + "\n\n" + RB + "\n\n" + Ag + "\n\n" + TI + "\n\n" + SP + "\n\n" + Co + "\n\n" + Ci + "\n\n" + WC + "\n\n" + Ec + "\n\n" + La)
#input("\n\nPress Enter to Exit ~(0x0)")

1 个答案:

答案 0 :(得分:1)

您所在的行:

timelines = 'Universal Development\nSolar Development\nPlanetary Development\nEvolution\nIntelligence\nContinental Drift\nSpeech\nReligion/Beliefs\nAgriculture\nTechnological Innovation\nSocial Politics\nCommunities\nCivilizations\nWar/Conflicts\nEconomy\nLaw\n----------------------------------------------'

在一开始就覆盖模块导入:

import timelines

所以当您:

print(timelines.TimeUD)

它尝试以字符串而不是模块的形式访问TimeUD的{​​{1}}属性。

将您的timelines字符串变量重命名为其他名称以避免冲突。