如果第N个索引应该大于之前的索引,如何检查索引
发布时间:2020-12-20 11:08:58 所属栏目:Python 来源:网络整理
导读:我想运行一个从0到1000的循环我想要打印低于前一个数字的数字“ex:123 3大于2而2大于1所以打印123”我尝试从1到100以及如何检查1000或更多的数字 我试图将int输入转换为列表并检查2位数 no=int(input())lis=[]num_lis=[]le=0for i in range(10,no): lis=str
我想运行一个从0到1000的循环我想要打印低于前一个数字的数字“ex:123 3大于2而2大于1所以打印123”我尝试从1到100以及如何检查1000或更多的数字
我试图将int输入转换为列表并检查2位数 no=int(input()) lis=[] num_lis=[] le=0 for i in range(10,no): lis=str(i) num_lis=[int (x)for x in lis] le=len(num_lis)-1 if num_lis[le]>num_lis[le-1]: print(i) 从1到100没有问题我想要检查三个数字,如果正确打印i,则为1< 2< 3 解决方法
打印所有低于后的数字:
如果下一个数字较大,您可以简单地记住一个数字并打印出来: number = None while number is None: number = int(input("Input a number: ")) number = str(number) last_digit = int(number[0]) for s in number[1:]: this_digit = int(s) if this_digit > last_digit: print(last_digit,end="") last_digit = this_digit print(last_digit) 输出12354: 1235 这将打印低于下一个的所有数字. 检查数字是否“按升序排列”: 要明确检查你可以使用 def IsIncreasing(number): n = str(number) return all(a<b for a,b in zip(n,n[1:])) 这是如何运作的? "123456789" "23456789" ==> ('1','2'),('2','3'),...,('7','8'),('8','9') as generator of tuples 并使用 例: for k in [1234,1,123456798]: print(k,IsIncreasing(k)) 输出(重新格式化): 1234 True 1 True 123456798 False 没有必要通过排序进行比较,这需要更多的计算. 测试从1到1000的所有数字: 您可以使用IsIncreasing()函数创建一个从1到1000的所有“增加”数字的列表: get_all_up_to_1000 = [k for k in range(1,1001) if IsIncreasing(k)] print( *(f"{k:>3}," for k in get_all_up_to_1000)) 输出: 1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,23,24,25,26,27,28,29,34,35,36,37,38,39,45,46,47,48,49,56,57,58,59,67,68,69,78,79,89,123,124,125,126,127,128,129,134,135,136,137,138,139,145,146,147,148,149,156,157,158,159,167,168,169,178,179,189,234,235,236,237,238,239,245,246,247,248,249,256,257,258,259,267,268,269,278,279,289,345,346,347,348,349,356,357,358,359,367,368,369,378,379,389,456,457,458,459,467,468,469,478,479,489,567,568,569,578,579,589,678,679,689,789, (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |