【发布时间】:2021-10-25 05:36:15
【问题描述】:
一个读取整数列表并确定它是升序还是降序或乱序的简单程序,仅输出第一个打印语句的次数作为列表元素的数量,并继续执行剩下的条件。
任何帮助理解我哪里出错了,我们将不胜感激。
int_num = input("Enter how many integers you have?: ")
int1 = input("Enter 1st integer: ")
int2 = input("Enter 2nd integer: ")
int3 = input("Enter 3rd integer: ")
int4 = input("Enter 4th integer: ")
int5 = input("Enter 5th integer: ")
int6 = input("Enter 6th integer: ")
n_seq = [int1, int2, int3, int4, int5, int6]
for int in n_seq:
if [0] < [1] < [2] < [3] < [4] < [5]:
print("Your sequence is sorted in ascending order.")
elif [0] > [1] > [2] > [3] > [4] > [5]:
print("Your sequence is sorted in descending order.")
else:
print("Your sequence is out of order.")
上面的程序输出如下:
Your sequence is sorted in ascending order.
Your sequence is sorted in ascending order.
Your sequence is sorted in ascending order.
Your sequence is sorted in ascending order.
Your sequence is sorted in ascending order.
Your sequence is sorted in ascending order.
【问题讨论】:
-
提供更多关于哪些输入导致这些输出的信息。并且不要使用
int这个词作为你的迭代器变量,int在 python 中是一个类型和一个函数。在for int in n_seq:行中使用int以外的其他内容。 -
你明白为什么吗?因为 1 for循环并执行
if n_seq[0] < n_seq[1] < n_seq[2]...。 -
sorted(n_seq) == n_seq -
谢谢大家的建议。 @TimRoberts 消除了 for 循环,并且对于 if 语句,在括号中的元素之前添加列表名称使其工作。谢谢。
标签: python list sorting integer conditional-statements