Fixing return None for Radio and Selectbox
diff --git a/lib/streamlit/DeltaGenerator.py b/lib/streamlit/DeltaGenerator.py
index 6a63a8df1f51..b9dd5e17f9cf 100644
--- a/lib/streamlit/DeltaGenerator.py
+++ b/lib/streamlit/DeltaGenerator.py
@@ -1809,7 +1809,8 @@ def radio(self, element, label, options, index=0, format_func=str, key=None):
 
         ui_value = _get_widget_ui_value("radio", element, user_key=key)
         current_value = ui_value if ui_value is not None else index
-        return options[current_value] if len(options) > 0 else NoValue
+
+        return options[current_value] if len(options) > 0 and options[current_value] is not None else NoValue
 
     @_with_element
     def selectbox(self, element, label, options, index=0, format_func=str, key=None):
@@ -1863,7 +1864,8 @@ def selectbox(self, element, label, options, index=0, format_func=str, key=None)
 
         ui_value = _get_widget_ui_value("selectbox", element, user_key=key)
         current_value = ui_value if ui_value is not None else index
-        return options[current_value] if len(options) > 0 else NoValue
+
+        return options[current_value] if len(options) > 0 and options[current_value] is not None else NoValue
 
     @_with_element
     def slider(
diff --git a/lib/tests/streamlit/radio_test.py b/lib/tests/streamlit/radio_test.py
index c055ce287c75..09bcdd44157a 100644
--- a/lib/tests/streamlit/radio_test.py
+++ b/lib/tests/streamlit/radio_test.py
@@ -43,6 +43,12 @@ def test_valid_value(self):
         self.assertEqual(c.label, "the label")
         self.assertEqual(c.default, 1)
 
+    def test_noneType_option(self):
+        """Test NoneType option value."""
+        current_value = st.radio("the label", (None, "selected"), 0)
+
+        self.assertEqual(current_value, None)
+
     @parameterized.expand(
         [
             (("m", "f"), ["m", "f"]),
diff --git a/lib/tests/streamlit/selectbox_test.py b/lib/tests/streamlit/selectbox_test.py
index 725787214d09..ae18e3fdb352 100644
--- a/lib/tests/streamlit/selectbox_test.py
+++ b/lib/tests/streamlit/selectbox_test.py
@@ -43,6 +43,12 @@ def test_valid_value(self):
         self.assertEqual(c.label, "the label")
         self.assertEqual(c.default, 1)
 
+    def test_noneType_option(self):
+        """Test NoneType option value."""
+        current_value = st.selectbox("the label", (None, "selected"), 0)
+
+        self.assertEqual(current_value, None)
+
     @parameterized.expand(
         [
             (("m", "f"), ["m", "f"]),

**Issue:** This PR fixes #982 

**Description:** Using NoValue instead of None

---

**Contribution License Agreement**

By submiting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.
