How to create Slab with slope in Revit use NewSlab method ()?

A Polycurve.ByJoinedCurves is not the same as a Revit CurveArray. Inside the Floor.ByOutlineTypeAndLevel, there is code that takes the Polycurve and creates a new Revit CurveArray, then appends each curve into that new CurveArray. You will need similar handling in your Python code for this to work.

/// <summary>
/// Create a Revit Floor given it’s curve outline and Level
/// </summary>
/// <param name=“outline”></param>
/// <param name=“floorType”></param>
/// <param name=“level”></param>
/// <returns>The floor</returns>
public static Floor ByOutlineTypeAndLevel(PolyCurve outline, FloorType floorType, Level level)
{

var ca = new CurveArray();
outline.Curves().ForEach(x => ca.Append(x.ToRevitType())); // You will need the equivalent handling in Python, for each curve in the Polycurve, add to the CurveArray.

return new Floor(ca, floorType.InternalFloorType, level.InternalLevel );
}