嗨,首先我想说这是家庭作业,所以我不想直接回答。问题是:
此任务将实现从包含以逗号分隔的数字(它们之间可能有空格)的字符串创建列表的功能。例如,字符串 "1,2,3, 4.5, 6.7, 8" 将成为列表:[1, 2, 3, 4.5, 6.7, 8]。
编写以下函数:
is_numeric() - 此函数有一个字符串参数,如果字符串中的所有字符都是数字、逗号、空格或点,则返回 True。如果有任何其他字符,该函数应返回 False。
string_to_list() - 此函数接受一个字符串参数并返回字符串中的数字列表。首先它应该调用is_numeric() 函数来检查字符串是否没有坏字符(例如字母)。如果有任何坏字符,它应该返回空列表。如果没有坏字符,它应该尝试从字符串中的数据构建列表。为此,它应该查看两个连续逗号之间的每个子字符串。如果该子字符串中没有点,则应将子字符串转换为整数。如果只有一个点(不多也不少),则应将其转换为浮点数。如果两个连续逗号之间的任何子字符串不能转换为整数或浮点数(例如“4.5.8”,因为它有太多点),该函数仍应返回空列表。暗示:
main() - main() 函数将从用户那里获取一个字符串,然后它将调用 string_to_list() 函数从用户字符串中构建一个列表,然后打印结果列表。接下来它将询问用户是否要继续。如果他们想继续,他们应该输入'y'。在这种情况下,函数(main)应该重复前面的步骤:询问用户输入,将其转换为列表,再次询问用户是否要继续。依此类推,直到用户不想继续,在这种情况下,他或她应该输入“n”。
我唯一拥有的代码只检查字符串中的第一个字母,看它是数字还是字母。我需要检查是否有字母、数字、逗号、句点或空格。我真的迷失了阅读这个程序。我知道我需要从用户那里获取一个字符串,然后将该字符串放入列表中,前提是该字符串是可接受的输入之一(字母、数字、逗号、句点、空格) 以下是我的代码到目前为止以及什么我的代码将在 shell 中读取。
s = input("Enter a set of numbers (integers or floats) separated by comma:")
def is_numeric(s):
for char in list(s):
if char.isdigit():
return True
if char.isalpha():
return False
break
if is_numeric(s) == True:
print(s)
else:
print('Error')
=================================重新开始================= ================
输入一组用逗号分隔的数字(整数或浮点数):1,2,3,4
1,2,3,4=================================重新开始================= ================
输入一组以逗号分隔的数字(整数或浮点数):1,2,3,a
1,2,3,a=================================重新开始================= ================
输入一组以逗号分隔的数字(整数或浮点数):a,1,2,3
错误=================================重新开始================= ================
输入一组以逗号分隔的数字(整数或浮点数):1234a
1234a=================================重新开始================= ================
输入一组以逗号分隔的数字(整数或浮点数):asdf3
错误
先感谢您!