zoukankan      html  css  js  c++  java
  • python入门10 循环语句

    两种循环:

    1 for in

    2 while

    #coding:utf-8
    #/usr/bin/python
    """
    2018-11-03
    dinghanhua
    循环语句
    """
    
    '''for in'''
    #打印0-9
    for i in range(10):
        print(i)
    #取出元组中不能被2整除的数据
    turple = (1,13,33,54,8329)
    for i in turple:
        if(i%2 == 1):
            print(i)
    
    '''while'''
    #打印0-9
    i = 0
    while i < 10:
        print(i)
        i+=1
    
    '''break跳出循环'''
    while True:
        str = input('输入字符串')
        print(str)
        goon = input('输入y继续')
        if goon != 'y':
            break
    
    '''continue跳出本次循环'''
    for i in range(10):
        if i%2 == 0:
            continue
        print(i)
    
    '''enumerate() 同时取出索引和值'''
    print(enumerate(turple))
    for i in enumerate(turple):
        print(i)
    for i,j in enumerate(turple):
        print(i,j)
    
    '''else 循环正常执行完执行else语句块'''
    x = 1
    while x < 10:
        print(x);
        x +=2
        #break  #未正常执行完不执行else
    else:
        print('循环正常执行完毕')
        x=1 #恢复初始值
    print('x:',x)
    
    '''pass占位语句'''
    while x < 10:
        if x == 2:
            pass
        print(x)
        x += 1
    
    '''/r 在行开头输出'''
    # while True:
    #     for char in ['-','/','|','\']:
    #        print(char+'
    ',end='')
    '''n!'''
    n = 10
    result = 1
    i = 1
    while i <= n:
        result = result * i
        i += 1
    print(result)
    '''n!之和 1!+2!+3!'''
    n = 10
    sum = 0
    
    for i in range(1,n+1):
        mul =1 #存储阶乘
        for j in range(1,i+1):
            mul = mul * j
        print('%d 的阶乘: %d'%(i,mul))
        sum += mul #阶乘之和
    print(sum)
    '''100以内最大平方数'''
    from math import sqrt
    for i in range(99,1,-1): #倒着取
        #print(sqrt(i))
        if sqrt(i) == int(sqrt(i)):
            print(i)
            break
    '''回文数判断'''
    i =12393466439321
    str = str(i) #转换成字符串
    len = len(str)
    for index in range(0,len//2): #判断前半段即可
        if str[index] != str[-index-1]:
            print(i,'不是回文数')
            break
    else:
        print(i,'是回文数')
    '''100-999之间 各数字3次方之和等于数字本身的数字'''
    for i in range(100,999):
        if (i%10)**3 + (i//10%10)**3 + (i//100)**3 == i:
            print(i)
    #转化为字符串,再取每个字符
    for i in range(100,999):
        str1 = str(i)
        sum = 0
        for char in str1:
            sum += int(char)**3
        if sum == i :
            print(i)
    '''100以内的素数'''
    for i in range(1,100):
        sign = 1#标志位 1是素数,0不是素数
        for j in range(2,i//2+1):
            if i % j == 0:
                sign =0
                break
        if sign == 1 :
            print(i,'是素数')
    for i in range(2,100):
        for j in range(2,i//2+1):
            if i % j == 0:
                break
        else:
            print(i,'是素数') #正常结束所有循环,说明是素数
    '''冒泡排序'''
    list = [13,3,65,2,655,54,12]
    
    for index in range(0,len(list)):
        for index2 in range(index+1,len(list)):
            if list[index] > list[index2]:
                list[index],list[index2] = list[index2],list[index]
        #print(list)
    print(list)
    '''选择排序 每次选出剩下的里面最大或最小的放到前面'''
    list = [33,12,22,129,10,35]
    for i in range(len(list)):
        maxindex = i
        for j in range(i+1,len(list)):
            if(list[j] > list[maxnum]):
                maxindex = j
        list[i],list[maxindex] = list[maxindex],list[i]
        print(list)
    '''一个数= 所有因子之和'''
    for  i in range(1,1000):
        sum = 0
        for j in range(1,i//2+1):
            if i%j == 0 :
                sum += j
        if (i == sum):
            print(i)
    '''出租车
    3公里内10元 3公里以后每0,5公里1元
    等待2.5分钟加1元
    超过15公里加原价50%'''
    
    length_km = 4.6
    waittime_sec = 60
    
    waittime_fee = waittime_sec//150 if waittime_sec%150==0  else waittime_sec//150+1 #等待时间按计费单位
    money = waittime_fee * 1
    
    if length_km <= 3:
        money += 10
    elif length_km > 3:
        km = (length_km-3)/0.5  if (length_km-3)/0.5%1 ==0 else (length_km-3)/0.5//1+1 #超出0.5里程个数数
        money += 10 + km * 1
        if length_km >= 15:
            money *= 1.5
    print(money)
    '''打印空心矩形'''
    h = 4
    w = 5
    for i in range(0,h):
        for j in range(0,w):
            if i == 0 or i == h - 1 or j==0 or j==w-1:
                print('*', end='')
            else:
                print(' ',end='')
        print('
    ')
  • 相关阅读:
    Git 常用命令速查表
    Android的Fragment中onActivityResult不被调用
    git基本操作
    Android混淆
    Shell
    小米手机图标应用图标不改变的问题
    linux常用基本命令
    android新建的项目界面上没有显示怎么办?
    bzoj5249: [2018多省省队联测]IIIDX(线段树)
    bzoj1951: [Sdoi2010]古代猪文(Lucas+CRT+欧拉定理)
  • 原文地址:https://www.cnblogs.com/dinghanhua/p/9904046.html
Copyright © 2011-2022 走看看