数字序列- python

o75abkj4  于 2022-10-30  发布在  Python
关注(0)|答案(2)|浏览(125)

我创建了一个程序,它读取一个数字序列,确定有多少个不同的数字(我们计算一次重复次数),并将结果写入标准输出。我的第一个代码:

f=int(input("String of numbers: "))
l=[]
for x in range(f):
    string_numbers = int(input(f'Enter {x+1} string of numbers: '))
    l.append(string_numbers)

mylist = list(dict.fromkeys(l))
print(len(mylist))

我想考虑用户输入的字符串是否比声明的太短或太长。我想让用户在一行中输入所有内容。当我输入不正确的字符串编号时,我会得到重复的“不正确的字符串长度不正确的字符串长度”

f=int(input("String of numbers: "))
my_list = input('Enter numbers in the string, separated by spaces: ').split()
list_of_integers=[]
l=len(str(list_of_integers))
for i in my_list:
    list_of_integers.append((i))
mylist = list(dict.fromkeys(list_of_integers))
for i in range(f):
    if i < l:
        print("incorrect string length", end='')
    elif i > l:
        print("incorrect string length", end='')
    else:
wkftcu5l

wkftcu5l1#

看起来你混淆了不同的变量--f是你想要的长度,l只是数字2,而你比较这两者的方式与用户输入的实际输入无关,即my_list
使用表明其含义的变量名称可能更容易使其保持清晰:

num_count = int(input("Length of string of numbers: "))
num_list = input('Enter numbers in the string, separated by spaces: ').split()
if len(num_list) == num_count:
    print(f"there are {len(set(num_list))} different numbers")
else:
    print("incorrect string length")

在上面的代码中,num_count是您希望他们输入多少个(非唯一的)数字的计数,num_list是实际的列表。要确定列表是否是预期的长度,请比较num_countlen(num_list)
请注意,由于您所做的只是查找唯一值,因此没有必要将num_list中的字符串转换为int(无论您是否像我在这里所做的那样使用set)。

lmvvr0a8

lmvvr0a82#

你最好使用另一个最终有while循环的函数,这样可以确保当用户输入时,如果有任何错误,你可以解析它,检查并最终确保再次提示用户。
例如:

f=int(input("String of numbers: "))
my_list = input('Enter numbers in the string, separated by spaces: ').split()
list_of_integers=[]
l=len(str(list_of_integers))
for i in my_list:
    list_of_integers.append((i))
mylist = list(dict.fromkeys(list_of_integers))
for i in range(f):
    # XXX Here call your "input-function"
    get_user_input(i, l)

def get_user_input(user_len, len):
    while True user_len != len:
        print('Incorrect Input')
        user_len = int(input("String of numbers: "))
    return

这并不是一个实际的例子,但是根据你所拥有的,你会得到一个想法,你想做一个while循环,直到你的输入匹配。

相关问题