如何+1上一个赋值(Python3.3)

2024-05-29 04:57:23 发布

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

注: 这不是

Python integer incrementing with ++

我试过w_sword += 1,结果还是显示为0。你知道吗

好的,这是我现在的代码。你知道吗

#creates random monsters with xp points, leveling up player, and adding upgrades

#imports
from clint.textui import colored, puts
import random

def game():
    sticks = 2
    stumps = 2
    stone = 0
    iron = 0
    gold = 0
    diamond = 0
    platinum = 0
    w_sword = 0
    w_shield = 0

    items = ('sticks:' + str(sticks) + ' stumps:' + str(stumps) + ' stone:' + str(stone) + ' iron:' + str(iron) + ' gold:' + str(gold) + ' diamond:' + str(diamond) + ' platinum:' + str(platinum) + ' Wooden sword(s):' + str(w_sword) +
    ' wooden shield(s):' + str(w_shield))       

    #start of the game    
    def start_game():
        print('           Hello player! Welome to a text based game involving killing monsters, leveling up, crafting weapons, and upgrading weapons!!!')
        print(' To get started enter in (i)inventory (c)craft items (d)description of items (m)types of monsters or (f)fight monsters.')
        print('                  ENTER (help) FOR HOW THE GAME WORKS')
        print('                              ENTER(?) FOR TO PRINT THIS AGAIN')
        print(' WHILE YOU ARE IN A CATEGORY SUCH AS (i)inventory PRESS (?) CAN BE USED TO GO BACK AND GO TO ANOTHER CATEGORY')
    start_game()

    main_In = input()

    level = 0
    Pxp = 0
    gold = 0

    if main_In == ('c'):
        ws_sticks = 2
        ws_stumps = 1

        def craft():
            print('Would you like to craft an item??')
            print('( Red = uncraftable )')
            print('( Green = craftable )')
            print('( Type items in lowercase )')

            if sticks < ws_sticks:
                puts(colored.red('Wooden sword'))
            else:
                puts(colored.green('Wooden sword'))
            if stumps < ws_stumps:
                puts(colored.red('Wooden shield'))
            else:
                puts(colored.green('Wooden shield'))

        craft()
        C_item = input()

        def re_craft():
            print('press ENTER to go back to the start screen, or enter c to craft an(other) item.')
            cor_go = input()
            if cor_go == ('c'):
                craft()
                C_item = input()
            else:
                game()

        if C_item == ('no'):
            print('press ENTER to go back to the start screen')
            input()
            game()

        if C_item == ('wooden sword') and sticks >= ws_sticks:
            print('Wooden sword added to your inventory')
            re_craft()

        if C_item == ('wooden sword') and sticks < ws_sticks:
            print('You need ' + str(ws_sticks - sticks) + ' stick(s) to craft a wooden sword')
            re_craft()

        if C_item == ('wooden shield') and stumps >= ws_stumps:
            print('Wooden shield added to your inventory')
            re_craft()

        if C_item == ('wooden shield') and stumps < ws_stumps:
            print('You need' + str(ws_stump - stumps) + ' stumps to craft a wooden shield.')
            re_craft()
        while ('Wooden shield added to your inventory'):
            w_shield = +1
        while ('Wooden sword added to your inventory'):
            w_sword = +1

    if main_In == ('i'):
        puts(colored.yellow('Level: ' + str(level)))
        puts(colored.yellow('xp: '  + str(Pxp)))
        puts(colored.yellow('gold:' + str(gold)))
        puts(colored.yellow('Items: ' + str(items)))
        puts(colored.yellow('press ENTER to return to the start screen'))
        input()
        game()

    if main_In == ('?'):
        game()

game()

如你所见,剑和盾都等于0,对吗?你知道吗

我认为问题出在剑术=+1和盾盾盾=+1附近。你知道吗

当你运行这个程序,输入c,然后制作一个木制的剑/盾,一旦你进入你的(i)清单,它会自动添加1到w\u剑/w\u盾。但由于某些原因,当你回到你的(i)库存时,w掼剑/w掼盾(取决于你制作的)显示为0。你知道吗

我认为这段代码主要是因为在items赋值中,它包含str(wu剑)和str(wu盾)等。因此,当你的工艺和项目,如木剑或木盾,然后它str(wï盾)或str(wï剑)应该出现为1。你知道吗

有人知道我的问题是什么吗?? 我使用的是Python3.3,如标题中所述。你知道吗


Tags: togameifwsitemshieldprintcolored

热门问题