bpo-44640: Improve punctuation consistency in isinstance/issubclass error messages (GH-27144) (GH-28436)

Co-authored-by: Ɓukasz Langa <lukasz@langa.pl>
(cherry picked from commit f4813388b4506b2fafb0089848c5b11cd503758c)

Co-authored-by: wyz23x2 <52805709+wyz23x2@users.noreply.github.com>

Co-authored-by: wyz23x2 <52805709+wyz23x2@users.noreply.github.com>
diff --git a/Objects/abstract.c b/Objects/abstract.c
index 33eb857..c056c66 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -2608,7 +2608,7 @@ object_isinstance(PyObject *inst, PyObject *cls)
     }
     else {
         if (!check_class(cls,
-            "isinstance() arg 2 must be a type, a tuple of types or a union"))
+            "isinstance() arg 2 must be a type, a tuple of types, or a union"))
             return -1;
         retval = _PyObject_LookupAttrId(inst, &PyId___class__, &icls);
         if (icls != NULL) {
@@ -2704,7 +2704,7 @@ recursive_issubclass(PyObject *derived, PyObject *cls)
 
     if (!_PyUnion_Check(cls) && !check_class(cls,
                             "issubclass() arg 2 must be a class,"
-                            " a tuple of classes, or a union.")) {
+                            " a tuple of classes, or a union")) {
         return -1;
     }