@zxcigan

В чём причина ошибки «SyntaxError: expected 'else' after 'if' expression», и как её исправить?

Всем привет, я пишу бота, но не очень знаю пайтон. Подскажите в чем дело?
import discord
from discord.ext import commands
import sqlite3
import config
from config import settings

client = commands.Bot(command_prefix = settings['PREFIX'])
client.remove_command('help')

connection = sqlite3.connect('server.db')
cursor = connection.cursor()

@client.command()
async def cash(ctx, member: discord.Member = None):
	if member is None:
		await ctx.send(embed = discord.Embed(
			score_row = cursor.execute("SELECT cash FROM users WHERE id = {}", (ctx.author.id,)).fetchone()
			if score_row is not None # ошибка тут
				description = f"""У тебя , **{ctx.author}** вот столько балов!**{score} :polegar_para_cima:**"""
            else:
            # что делать, если такого юзера еще нет в базе?
           		cursor.execute("INSERT INTO users (id, cash) VALUES (?, 0)", (ctx.author.id,) ) # можно его добавить
            	description = f"""У тебя , **{ctx.author}** пока нет ничего! Но скоро будет!"""
        ))       
	else:
		await ctx.send(embed = discord.Embed(
			score = cursor.execute("SELECT cash FROM users WHERE id = ?".format(member.id)).fetchone()
			description = f"""У тебя , **{member}** вот столько балов!**{score} :polegar_para_cima:**"""
		))

client.run(settings['TOKEN'])

Ошибка:
File "C:\Python\bot.py", line 48
    score_row = cursor.execute("SELECT cash FROM users WHERE id = {}", (ctx.author.id,)).fetchone()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: expected 'else' after 'if' expression
  • Вопрос задан
  • 2345 просмотров
Решения вопроса 1
vabka
@vabka
Токсичный шарпист
Ты забыл двоеточие на 48 строке, после is None

PS:
но не очень знаю пайтон. Подскажите в чем дело?

Начать с чего-то по-проще, например с обычных консольных приложений.
Дело в том, что у тебя проблемы даже в понимании синтаксиса возникают.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы