添加多个变量来获得总和?

时间:2018-01-02 13:51:51

标签: python

我正在开发一个关于使用Python和Discord webhooks的游戏的小项目。我想知道如何获得放在一起的变量的总和(总和)?这些变量列出了从游戏站点页面中获取的数字。以下是我正在使用的内容:

import requests
import time
import os, sys, shutil
from random import randint

class RobloxMessage:
"""A simple Roblox bot class"""
def __init__(self):
    #creates a session
    self.headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0'}
    self.session = requests.Session()
    self.session.headers.update(self.headers)

    print("works!")
    URL = "https://www.roblox.com/Groups/Group.aspx?gid=GroupID1"
    URL2 = "https://www.roblox.com/Groups/Group.aspx?gid=GroupID2"
    r = requests.get(URL)
    r2 = requests.get(URL2)
    if 'Funds:' in r.text:
        robux = r.text.split('<span class="robux" style="margin-left:5px">')[1].split('</')[0]
    if 'Funds:' in r2.text:
        robux2 = r2.text.split('<span class="robux" style="margin-left:5px">')[1].split('</')[0]
    else:
        return
    if robux != '0':
        owner = r.text.split('<a style="font-style: italic;" href="https://www.roblox.com')[1].split('>')[1].split('<')[0] # owner is the same for every group
    else:
        return
    if owner == 'OwnerOfGroup':
            hookMsg = '**__GROUP 1__**\nFUNDS: ' + robux + ' R$ \nOWNER: ' + owner
            r = requests.post("https://discordapp.com/api/webhooks/WebhookID", data={'content': hookMsg, 'tts': 'false'})
            time.sleep(3)
            hookMsg2 = '**__GROUP 2__**\nFUNDS: ' + robux2 + ' R$ \nOWNER: ' + owner
            r = requests.post("https://discordapp.com/api/webhooks/WebhookID", data={'content': hookMsg2, 'tts': 'false'})
            time.sleep(300)
    else:
        return

if __name__ == '__main__':
    bot = RobloxMessage()

我想要添加总和的变量分为robuxrobux2

1 个答案:

答案 0 :(得分:1)

IljaEveilä评论是正确的。假设您正确地拆分文本(即,拆分的结果是一串数字),那么您可以将字符串转换为int或float以将它们添加到一起。下面是一个示例,显示了一些字符串被强制转换为数字然后加在一起。

#Assuming the result of the split is a string of numbers

# If you expect integer scores
robux = '1'  
robux2 = '2'

total = int(robux) + int(robux2)
print(total) # prints -> 3


# If you expect float scores
robux = '1.1'
robux2 = '2.2'

total = float(robux) + float(robux2)
print(total) #prints -> 3.3

在投射之前,您应该通过打印变量来验证您是否正确分割文本:print(robux)和print(robux2)。最后,如果您计划在此代码中添加更多变量,那么您还应该遵循IljaEveilä关于使用列表结构的建议。列表将让您使用更少的代码完成更多工作。