当我运行我的python文本游戏时,我得到一个属性错误,我不知道如何使用它

2024-04-20 04:46:42 发布

您现在位置:Python中文网/ 问答频道 /正文

对于我的第一个python项目,我决定做一个文本游戏冒险,但我偶然发现了一个bug,我真的不知道如何修复这个错误:

错误:

Traceback (most recent call last):
File "C:\Users\Sekou\Documents\school simulator game\aloysiusgame.py", line 248, in <module>
myPlayer.gender = player_gender
AttributeError: 'str' object has no attribute 'gender'         

你知道吗 代码:

question2 = "ben je een meisje of jongen?\n"
for character in question2:
sys.stdout.write(character)
sys.stdout.flush()
time.sleep(0.05)
player_gender = input("> ")
valid_anwsers = ["meisje", "jongen"]
myPlayer.gender = player_gender
    print("Je bent een " + player_gender + "!\n")
    while player_gender.lower() not in valid_anwsers:
player_gender = input("> ")
if player_gender.lower() in valid_anwsers:
    myPlayer.gender = player_gender
    print("Je bent een " + player_gender + "!\n")
pass

编辑我定义播放器的部分:

import cmd
import textwrap
import sys
import os
import time
import random

screen_width = 100

##### player setup #####
class player:
def __init__(self):
        self.name = ''
        self.gender = ''
        self.classyear4 = ''
        self.sociaal = 0
        self.educatie = 0
        self.emoties = 0
        self.location = 'c16'
        self.game_over = False
        myPlayer = player()

Tags: inimportselfgame错误sysgenderplayer
1条回答
网友
1楼 · 发布于 2024-04-20 04:46:42

伙计,我想你是想这么做的,希望能有所帮助

myPlayer = {}
questions ={'name':None, 'age':None, 'gender':['man', 'woman']}


for question, valid_answers  in questions.items():
    correct = False
    error_msg =""

    if valid_answers == None:
        answer = input(question + '\n>')
        myPlayer[question] = answer
    else:
        while correct == False:
            answer = input(error_msg+question+'\n>')
            if answer.strip().lower() in valid_answers:
                myPlayer[question] = answer
                correct = True
            else:
                error_msg = ("Your answer is invalid \n")

for key, value in myPlayer.items():
    print("{}:{}".format(key, value))

相关问题 更多 >