“as”中的语法错误,是否与导入有关?

2024-06-01 08:04:32 发布

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

我复制并粘贴了powerball模型from GitHub,以便制作powerball网站。你知道吗

但它不适用于最后一个错误消息中的无效语法

(as=rng, outsz=6)

我该怎么做才能修好它?是关于import的错误吗?我应该安装其他软件包吗?你知道吗

from django.db import models
from django.conf import settings, BaseSettings
from django.utils import timezone
import random

from .rng import random_numbers, _sort
from .eth_tools import address, Contract

def buy_ticket(first,second,third,fourth,fifth,powerball):
 if msg.value >= self.config.ticket_cost:
    if block.number <= self.config.lottery_deadline:
        id = self.config.next_id

        if self._validate_ticket(first, second, third, fourth, fifth, powerball ) != 1:
             return(-3)

        self.tickets[id].owner = msg.sender
        self.tickets[id].numbers[0] = first
        self.tickets[id].numbers[1] = second
        self.tickets[id].numbers[2] = third
        self.tickets[id].numbers[3] = fourth
        self.tickets[id].numbers[4] = fifth
        self.tickets[id].powerball = powerball

        self.config.next_id = id + 1

        return([id], 1)
      else:
        return(-2)
 else:
    return(-1)

def check_winners():
    if (block.number <= self.config.lottery_deadline):
        return(-1)
    elif self.config.winning_numbers[0] != 0:
        return(-2)
    else:
        winning_numbers = self.config.rng_address.random_numbers(as = rng, outsz =  6)

    i = 0
    while i < 6:
        self.config.winning_numbers[i] = winning_numbers[i]
        i += 1
    i = 0
    while i < self.config.next_id:
        self._calculate_result(i)
        i += 1

    self._calculate_jackpot_results()

    return(winning_numbers, 6)

Tags: djangofromimportselfidconfigreturnif
1条回答
网友
1楼 · 发布于 2024-06-01 08:04:32

asreserved keyword(作为^{} statement的一部分,^{} statement^{}中的except处理程序);关键字不能用作名称。你知道吗

使用不同的名称;常见的方法是在名称后添加_

self.config.rng_address.random_numbers(as_ = rng, outsz =  6)

但是,code you copied不是Python代码:

"Powerball"-style lottery written in Serpent, for prophetx's bounty.

(粗体斜体强调我的)。你知道吗

Serpent Builder's Guide开始:

Serpent is one of the high-level programming languages used to write Ethereum contracts. The language, as suggested by its name, is designed to be very similar to Python[.]

它在其他问题上也会失败;所有文件都有.se扩展名,而不是.py扩展名,以表明这是一种不同的编程语言。与Python有很多相似之处,但是有更多的差异不能忽略。改用serpent compiler。你知道吗

相关问题 更多 >