• python初阶学习
    刚开始学Python,基础很重要,告诫自己不要好高骛远,把基础打好才是最重要的。

    下面用几个简单的题目来巩固一下所学:

    • 输出1到100之间所有的偶数
    • 输出1到100之间所有的奇数
    • 输出1-2+3-4+…+99-100的和
    • 用户登录三次重试

    在写程序之前应注意一个知识点:


    在Python里面对于缩进有严格的控制,同属于一个代码片的缩进必须一致,不然会报错。例如:
    
    if True:
    #前后缩进不一致
       print('aaa')
      print('bbb')

    结果是这样:
    这里写图片描述

    当我们使它们缩进一致时得到的结果就是正确的了。
    这里写图片描述


    1、 输出1到100的偶数

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    #定义初始值
    start=1
    while True:
    #判断start的值若其为51,则说明上一次已经输出了100,跳出循环
       if start==51:
         break
       print start*2
       start +=1

    这里写图片描述

    2、输出1到100的奇数

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    #定义初始值
    start=1
    while True:
       if start==100:
         break   
    #%运算是取余数
       if start%2 ==1:
         print start
       start +=1

    这里写图片描述

    3、输出1-2+3-4+…+99-100的和

    主要思想就是判断start前面的符号—–利用条件语句判断是奇数还是偶数

    变量前的符号 奇数 偶数
    start 1 -1

    代码实现:

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    #定义初始值,sum指的是总和,start指的是1-100的整数
    sum=0
    start=1
    while True:
       if start==101:
         break   
    #%运算是取余数,判断是奇数还是偶数
       if start%2 ==1:
         sum=sum+start 
       if start%2 ==0:
         sum=sum-start
       start +=1
    print sum 

    这里写图片描述

    4、用户登录三次重试

    主要实现的是:

    • 设置初始用户名和登录密码;
    • 进入登录页面,提醒输入用户输入用户名和密码;
    • 若用户名输错则重新输入,若用户登录密码输错三次则重新开始输入用户名和用户登录密码;

    代码实现:

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    #先设定初始用户名和登录密码
    init_usrname=raw_input('Please enter initial username:')
    init_password=raw_input('Please enter initial password:')
    #打印输出设置好的用户名和初始登录密码
    print (init_usrname)
    print (init_password)
    
    #进入登录见面,flag0指的是输入密码的错误次数
    #flag1指的是登录成功标志位
    flag0=0
    flag1=0
    print('>>>User Login<<<')
    
    while True:
    #提示用户输入用户名
        usr=raw_input('enter username:')
        if usr==init_usrname:
        #输入用户名正确则进入到输入登录密码阶段
            #判断输错登录密码次数
            while flag0<3:
                password=raw_input('enter password:')
                if password==init_password:
                #若密码输入正确则登录成功因而跳出循环
                    print('Success Login!')
                    flag1=1
                    break
                else: 
                #计算输错次数,每输错一次flag加一
                    flag0 +=1
                    if flag0<=2:
                       print('Wrong Password,enter again!')
        #输错三次跳出输入登录密码环节重新进行用户名的输入,相应地flag也要归零
            if flag1==1:
                 break
            flag0=0
            print ('You have tried three times,login again!')
        else:
            print ('Wrong Username,enter again!')

    时机效果如图所示:
    这里写图片描述

    end

    展开全文
  • 100个Python练手小程序学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python。 【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?...

    100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python。

    【程序1】
    题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
    1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去
          掉不满足条件的排列。
    2.程序源代码:

    for i in range(1,5):
        for j in range(1,5):
            for k in range(1,5):
                if( i != k ) and (i != j) and (j != k):
                    print (i,j,k)

    【程序2】
    题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高
       于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提
       成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于
       40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于
       100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
    1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。      
    2.程序源代码:

    bonus1 = 100000 * 0.1
    bonus2 = bonus1 + 100000 * 0.500075
    bonus4 = bonus2 + 200000 * 0.5
    bonus6 = bonus4 + 200000 * 0.3
    bonus10 = bonus6 + 400000 * 0.15
    
    i = int(raw_input('input gain:\n'))
    if i <= 100000:
        bonus = i * 0.1
    elif i <= 200000:
        bonus = bonus1 + (i - 100000) * 0.075
    elif i <= 400000:
        bonus = bonus2 + (i - 200000) * 0.05
    elif i <= 600000:
        bonus = bonus4 + (i - 400000) * 0.03
    elif i <= 1000000:
        bonus = bonus6 + (i - 600000) * 0.015
    else:
        bonus = bonus10 + (i - 1000000) * 0.01
    print 'bonus = ',bonus

    【程序3】
    题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
    1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后
          的结果满足如下条件,即是结果。请看具体分析:
    2.程序源代码:

    include "math.h"
    main()
    {
    long int i,x,y,z;
    for (i=1;i<100000;i++)
     { x=sqrt(i+100);   /*x为加上100后开方后的结果*/
      y=sqrt(i+268);   /*y为再加上168后开方后的结果*/
       if(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/
        printf("\n%ld\n",i);
     }
    } 
    '''
    import math
    for i in range(10000):
        #转化为整型值
        x = int(math.sqrt(i + 100))
        y = int(math.sqrt(i + 268))
        if(x * x == i + 100) and (y * y == i + 268):
            print i

    题目:输入某年某月某日,判断这一天是这一年的第几天?
    1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊
          情况,闰年且输入月份大于3时需考虑多加一天。
    2.程序源代码:

    year = int(raw_input('year:\n'))
    month = int(raw_input('month:\n'))
    day = int(raw_input('day:\n'))
    
    months = (0,31,59,90,120,151,181,212,243,273,304,334)
    if 0 <= month <= 12:
        sum = months[month - 1]
    else:
        print 'data error'
    sum += day
    leap = 0
    if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):
        leap = 1
    if (leap == 1) and (month > 2):
        sum += 1
    print 'it is the %dth day.' % sum

    【程序5】
    题目:输入三个整数x,y,z,请把这三个数由小到大输出。
    1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,
          然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。
    2.程序源代码:

    l = []
    for i in range(3):
        x = int(raw_input('integer:\n'))
        l.append(x)
    l.sort()
    print l

    【程序6】
    题目:用*号输出字母C的图案。
    1.程序分析:可先用’*’号在纸上写出字母C,再分行输出。
    2.程序源代码:

    print 'Hello Python world!\n'
    print '*' * 10
    for i in range(5):
        print '*        *'
    print '*' * 10
    print '*\n' * 6

    【程序7】
    题目:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!
    1.程序分析:字符共有256个。不同字符,图形不一样。      
    2.程序源代码:

    a = 176
    b = 219
    print chr(b),chr(a),chr(a),chr(a),chr(b)
    print chr(a),chr(b),chr(a),chr(b),chr(a)
    print chr(a),chr(a),chr(b),chr(a),chr(a)
    print chr(a),chr(b),chr(a),chr(b),chr(a)
    print chr(b),chr(a),chr(a),chr(a),chr(b)

    【程序8】
    题目:输出9*9口诀。
    1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。
    2.程序源代码:

    include "stdio.h"
    main()
    {
     int i,j,result;
     printf("\n");
     for (i=1;i<10;i++)
      { for(j=1;j<10;j++)
        {
         result=i*j;
         printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/
        }
       printf("\n");/*每一行后换行*/
      }
    }
    for i in range(1,10):
        for j in range(1,10):
            result = i * j
            print '%d * %d = % -3d' % (i,j,result)
        print ''

    【程序9】
    题目:要求输出国际象棋棋盘。
    1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。
    2.程序源代码:

    include "stdio.h"
    main()
    {
    int i,j;
    for(i=0;i<8;i++)
     {
      for(j=0;j<8;j++)
       if((i+j)%2==0)
        printf("%c%c",219,219);
       else
        printf(" ");
       printf("\n");
     }
    }
    import sys
    for i in range(8):
        for j in range(8):
            if(i + j) % 2 == 0:
                sys.stdout.write(chr(219))
                sys.stdout.write(chr(219))
            else:
                sys.stdout.write(' ')
        print ''

    【程序10】
    题目:打印楼梯,同时在楼梯上方打印两个笑脸。
    1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。
    2.程序源代码:

    import sys
    sys.stdout.write(chr(1))
    sys.stdout.write(chr(1))
    print ''
    
    for i in range(1,11):
        for j in range(1,i):
            sys.stdout.write(chr(219))
            sys.stdout.write(chr(219))
        print ''

    【程序11】
    题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
       后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
    1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21….
    2.程序源代码:

    main()
    {
    long f1,f2;
    int i;
    f1=f2=1;
    for(i=1;i<=20;i++)
     { printf("%12ld %12ld",f1,f2);
       if(i%2==0) printf("\n");/*控制输出,每行四个*/
       f1=f1+f2; /*前两个月加起来赋值给第三个月*/
       f2=f1+f2; /*前两个月加起来赋值给第三个月*/
     }
    }
    f1 = 1
    f2 = 1
    for i in range(1,21):
        print '%12d %12d' % (f1,f2)
        if (i % 2) == 0:
            print ''
        f1 = f1 + f2
        f2 = f1 + f2

    【程序12】
    题目:判断101-200之间有多少个素数,并输出所有素数。
    1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
          则表明此数不是素数,反之是素数。       
    2.程序源代码:

    h = 0
    leap = 1
    from math import sqrt
    from sys import stdout
    for m in range(101,201):
        k = int(sqrt(m + 1))
        for i in range(2,k + 1):
            if m % i == 0:
                leap = 0
                break
        if leap == 1:
            print '%-4d' % m
            h += 1
            if h % 10 == 0:
                print ''
        leap = 1
    print 'The total is %d' % h

    【程序13】
    题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数
       本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
    1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
    2.程序源代码:

    for n in range(100,1001):
        i = n / 100
        j = n / 10 % 10
        k = n % 10
        if i * 100 + j * 10 + k == i + j ** 2 + k ** 3:
            print "%-5d" % n

    【程序14】
    题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

    程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
    (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
    (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,
     重复执行第一步。
    (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

    2.程序源代码:

    from sys import stdout
    n = int(raw_input("input number:\n"))
    print "n = %d" % n
    
    for i in range(2,n + 1):
        while n != i:
            if n % i == 0:
                stdout.write(str(i))
                stdout.write("*")
                n = n / i
            else:
                break
    print "%d" % n

    【程序15】
    题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,
       60分以下的用C表示。
    1.程序分析:(a>b)?a:b这是条件运算符的基本例子。
    2.程序源代码:
    不支持这个运算符

    score = int(raw_input('input score:\n'))
    if score >= 90:
        grade = 'A'
    elif score >= 60:
        grade = 'B'
    else:
        grade = 'C'
    
    print '%d belongs to %s' % (score,grade)

    【程序17】
    题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
    1.程序分析:利用while语句,条件为输入的字符不为’\n’.
          
    2.程序源代码:

    import string
    s = raw_input('input a string:\n')
    letters = 0
    space = 0
    digit = 0
    others = 0
    for c in s:
        if c.isalpha():
            letters += 1
        elif c.isspace():
            space += 1
        elif c.isdigit():
            digit += 1
        else:
            others += 1
    print 'char = %d,space = %d,digit = %d,others = %d' % (letters,space,digit,others)

    题目:求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时
       共有5个数相加),几个数相加有键盘控制。
    1.程序分析:关键是计算出每一项的值。
    2.程序源代码:

    Tn = 0
    Sn = []
    n = int(raw_input('n = :\n'))
    a = int(raw_input('a = :\n'))
    for count in range(n):
        Tn = Tn + a
        a = a * 10
        Sn.append(Tn)
        print Tn
    
    Sn = reduce(lambda x,y : x + y,Sn)
    print Sn

    【程序19】
    题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程
       找出1000以内的所有完数。
    1. 程序分析:请参照程序<–上页程序14.
    2.程序源代码:

    from sys import stdout
    for j in range(2,1001):
        k = []
        n = -1
        s = j
        for i in range(1,j):
                if j % i == 0:
                    n += 1
                    s -= i
                    k.append(i)
    
        if s == 0:
            print j
            for i in range(n):
                stdout.write(k[i])
                stdout.write(' ')
            print k[n]

    【程序20】
    题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在
       第10次落地时,共经过多少米?第10次反弹多高?
    1.程序分析:见下面注释
    2.程序源代码:

    Sn = 100.0
    Hn = Sn / 2
    
    for n in range(2,11):
        Sn += 2 * Hn
        Hn /= 2
    
    print 'Total of road is %f' % Sn
    print 'The tenth is %f meter' % Hn

    限于篇幅,这里只列出10个,更多Python程序请自行下载后阅读。
    http://www.dajiangtai.com/community/18316.do

    展开全文
  • Python入门小程序(一) 学习了FishC的Python零基础入门第4节,本次的内容是Python的while循环语句和条件语句。 1. 用一个条件语句实现猜数字的小程序 程序设定一个数字,用户输入一个数字,判断是否猜对。...

    学习了FishC的Python零基础入门第4节,本次的内容是Python的while循环语句和条件语句。

    1. 用一个条件语句实现猜数字的小程序

    程序设定一个数字,用户输入一个数字,判断是否猜对。

    temp=input("猜猜我心中的数字:")
    guess=int(temp)
    if guess==8:
        print("猜对!")
    else:
        print("猜错了!")
    print("游戏结束!")

    运行结果:

    image

    2. 改进程序猜随机数字

    上一个程序中,用户猜错要重新运行程序,嵌套while循环让用户可以一直猜,知道猜对。另外,系统设定的数字不能是静态的,要改为随机生成。

    #改进
    import random
    temp = input("猜猜我心中的数字:")
    guess=int(temp)
    secret=random.randint(1,10)
    while guess!=secret:
        if (guess<secret):
            print("猜小了!")
        else:
            print("猜大了!")
        temp=input("猜猜我心中的数字:")
        guess = int(temp)
    print("猜对!游戏结束!")

    运行结果:

    image

    3. 改进程序限定用户的机会

    现在,用户只能有三次机会来猜数字。我们可以修改循环的条件,当用户没猜中并且机会还没用完,就一直执行这个循环体。

    import random
    temp = input("猜猜我心中的数字:")
    guess = int(temp)
    secret = random.randint(1,10)
    i = 2
    while (guess!=secret)and(i):
        if (guess < secret):
            print("猜小了!")
            print("剩余机会次数:",i)
        else:
            print("猜大了!")
            print("剩余机会次数:", i)
    
        temp = input("猜猜我心中的数字:")
        guess = int(temp)
        i = i - 1
    else:
        if(i>0):
            print("猜对!游戏结束!")
        else:
            print("你的机会用完!")

    运行结果:

    image

    4. 总结一下要点

    • 在 python 中,while … else 在循环条件为 false 时执行 else 语句块。
    • Python中的and逻辑运算操作符可以将任意表达式连接在一起,并得到一个布尔类型的值。
    展开全文
  • 100个Python练手小程序

    2018-10-24 09:15:36
    100个Python练手小程序学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python。 【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1...

    100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python。

    【程序1】
    题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
    1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去
          掉不满足条件的排列。
    2.程序源代码:

    for i in range(1,5):
    for j in range(1,5):
    for k in range(1,5):
    if( i != k ) and (i != j) and (j != k):
    print (i,j,k)

    1
    2
    3
    4
    5
    

    【程序2】
    题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高
       于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提
       成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于
       40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于
       100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
    1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。      
    2.程序源代码:

    bonus1 = 100000 * 0.1
    bonus2 = bonus1 + 100000 * 0.500075
    bonus4 = bonus2 + 200000 * 0.5
    bonus6 = bonus4 + 200000 * 0.3
    bonus10 = bonus6 + 400000 * 0.15

    i = int(raw_input(‘input gain:\n’))
    if i <= 100000:
    bonus = i * 0.1
    elif i <= 200000:
    bonus = bonus1 + (i - 100000) * 0.075
    elif i <= 400000:
    bonus = bonus2 + (i - 200000) * 0.05
    elif i <= 600000:
    bonus = bonus4 + (i - 400000) * 0.03
    elif i <= 1000000:
    bonus = bonus6 + (i - 600000) * 0.015
    else:
    bonus = bonus10 + (i - 1000000) * 0.01
    print 'bonus = ',bonus

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    

    【程序3】
    题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
    1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后
          的结果满足如下条件,即是结果。请看具体分析:
    2.程序源代码:

    include “math.h”
    main()
    {
    long int i,x,y,z;
    for (i=1;i<100000;i++)
     { x=sqrt(i+100);   /x为加上100后开方后的结果/
      y=sqrt(i+268);   /y为再加上168后开方后的结果/
       if(xx==i+100&&yy==i+268)/如果一个数的平方根的平方等于该数,这说明此数是完全平方数/
        printf("\n%ld\n",i);
     }
    }
    ‘’’
    import math
    for i in range(10000):
    #转化为整型值
    x = int(math.sqrt(i + 100))
    y = int(math.sqrt(i + 268))
    if(x * x == i + 100) and (y * y == i + 268):
    print i

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    

    题目:输入某年某月某日,判断这一天是这一年的第几天?
    1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊
          情况,闰年且输入月份大于3时需考虑多加一天。
    2.程序源代码:

    year = int(raw_input(‘year:\n’))
    month = int(raw_input(‘month:\n’))
    day = int(raw_input(‘day:\n’))

    months = (0,31,59,90,120,151,181,212,243,273,304,334)
    if 0 <= month <= 12:
    sum = months[month - 1]
    else:
    print ‘data error’
    sum += day
    leap = 0
    if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):
    leap = 1
    if (leap == 1) and (month > 2):
    sum += 1
    print ‘it is the %dth day.’ % sum

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    

    【程序5】
    题目:输入三个整数x,y,z,请把这三个数由小到大输出。
    1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,
          然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。
    2.程序源代码:

    l = []
    for i in range(3):
    x = int(raw_input(‘integer:\n’))
    l.append(x)
    l.sort()
    print l

    1
    2
    3
    4
    5
    6
    

    【程序6】
    题目:用号输出字母C的图案。
    1.程序分析:可先用’
    ’号在纸上写出字母C,再分行输出。
    2.程序源代码:

    print ‘Hello Python world!\n’
    print ‘’ * 10
    for i in range(5):
    print ’

    print '
    ’ * 10
    print ‘*\n’ * 6

    1
    2
    3
    4
    5
    6
    

    【程序7】
    题目:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!
    1.程序分析:字符共有256个。不同字符,图形不一样。      
    2.程序源代码:

    a = 176
    b = 219
    print chr(b),chr(a),chr(a),chr(a),chr(b)
    print chr(a),chr(b),chr(a),chr(b),chr(a)
    print chr(a),chr(a),chr(b),chr(a),chr(a)
    print chr(a),chr(b),chr(a),chr(b),chr(a)
    print chr(b),chr(a),chr(a),chr(a),chr(b)

    1
    2
    3
    4
    5
    6
    7
    

    【程序8】
    题目:输出9*9口诀。
    1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。
    2.程序源代码:

    include “stdio.h”
    main()
    {
     int i,j,result;
     printf("\n");
     for (i=1;i<10;i++)
      { for(j=1;j<10;j++)
        {
         result=ij;
         printf("%d
    %d=%-3d",i,j,result);/-3d表示左对齐,占3位/
        }
       printf("\n");/每一行后换行/
      }
    }
    for i in range(1,10):
    for j in range(1,10):
    result = i * j
    print ‘%d * %d = % -3d’ % (i,j,result)
    print ‘’

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    

    【程序9】
    题目:要求输出国际象棋棋盘。
    1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。
    2.程序源代码:

    include “stdio.h”
    main()
    {
    int i,j;
    for(i=0;i<8;i++)
     {
      for(j=0;j<8;j++)
       if((i+j)%2==0)
        printf("%c%c",219,219);
       else
        printf(" “);
       printf(”\n");
     }
    }
    import sys
    for i in range(8):
    for j in range(8):
    if(i + j) % 2 == 0:
    sys.stdout.write(chr(219))
    sys.stdout.write(chr(219))
    else:
    sys.stdout.write(’ ')
    print ‘’

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    

    【程序10】
    题目:打印楼梯,同时在楼梯上方打印两个笑脸。
    1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。
    2.程序源代码:

    import sys
    sys.stdout.write(chr(1))
    sys.stdout.write(chr(1))
    print ‘’

    for i in range(1,11):
    for j in range(1,i):
    sys.stdout.write(chr(219))
    sys.stdout.write(chr(219))
    print ‘’

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    

    【程序11】
    题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
       后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
    1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21….
    2.程序源代码:

    main()
    {
    long f1,f2;
    int i;
    f1=f2=1;
    for(i=1;i<=20;i++)
     { printf("%12ld %12ld",f1,f2);
       if(i%2==0) printf("\n");/控制输出,每行四个/
       f1=f1+f2; /前两个月加起来赋值给第三个月/
       f2=f1+f2; /前两个月加起来赋值给第三个月/
     }
    }
    f1 = 1
    f2 = 1
    for i in range(1,21):
    print ‘%12d %12d’ % (f1,f2)
    if (i % 2) == 0:
    print ‘’
    f1 = f1 + f2
    f2 = f1 + f2

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    

    【程序12】
    题目:判断101-200之间有多少个素数,并输出所有素数。
    1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
          则表明此数不是素数,反之是素数。       
    2.程序源代码:

    h = 0
    leap = 1
    from math import sqrt
    from sys import stdout
    for m in range(101,201):
    k = int(sqrt(m + 1))
    for i in range(2,k + 1):
    if m % i == 0:
    leap = 0
    break
    if leap == 1:
    print ‘%-4d’ % m
    h += 1
    if h % 10 == 0:
    print ‘’
    leap = 1
    print ‘The total is %d’ % h

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    

    【程序13】
    题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数
       本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
    1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
    2.程序源代码:

    for n in range(100,1001):
    i = n / 100
    j = n / 10 % 10
    k = n % 10
    if i * 100 + j * 10 + k == i + j ** 2 + k ** 3:
    print “%-5d” % n

    1
    2
    3
    4
    5
    6
    

    【程序14】
    题目:将一个正整数分解质因数。例如:输入90,打印出90=233*5。

    程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
    (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
    (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,
     重复执行第一步。
    (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

    2.程序源代码:

    from sys import stdout
    n = int(raw_input(“input number:\n”))
    print “n = %d” % n

    for i in range(2,n + 1):
    while n != i:
    if n % i == 0:
    stdout.write(str(i))
    stdout.write("*")
    n = n / i
    else:
    break
    print “%d” % n

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    

    【程序15】
    题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,
       60分以下的用C表示。
    1.程序分析:(a>b)?a:b这是条件运算符的基本例子。
    2.程序源代码:
    不支持这个运算符

    score = int(raw_input(‘input score:\n’))
    if score >= 90:
    grade = ‘A’
    elif score >= 60:
    grade = ‘B’
    else:
    grade = ‘C’

    print ‘%d belongs to %s’ % (score,grade)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    

    【程序17】
    题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
    1.程序分析:利用while语句,条件为输入的字符不为’\n’.
          
    2.程序源代码:

    import string
    s = raw_input(‘input a string:\n’)
    letters = 0
    space = 0
    digit = 0
    others = 0
    for c in s:
    if c.isalpha():
    letters += 1
    elif c.isspace():
    space += 1
    elif c.isdigit():
    digit += 1
    else:
    others += 1
    print ‘char = %d,space = %d,digit = %d,others = %d’ % (letters,space,digit,others)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    

    题目:求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时
       共有5个数相加),几个数相加有键盘控制。
    1.程序分析:关键是计算出每一项的值。
    2.程序源代码:

    Tn = 0
    Sn = []
    n = int(raw_input(‘n = :\n’))
    a = int(raw_input(‘a = :\n’))
    for count in range(n):
    Tn = Tn + a
    a = a * 10
    Sn.append(Tn)
    print Tn

    Sn = reduce(lambda x,y : x + y,Sn)
    print Sn

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    

    【程序19】
    题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程
       找出1000以内的所有完数。

    1. 程序分析:请参照程序<–上页程序14.
      2.程序源代码:

    from sys import stdout
    for j in range(2,1001):
    k = []
    n = -1
    s = j
    for i in range(1,j):
    if j % i == 0:
    n += 1
    s -= i
    k.append(i)

    if s == 0:
        print j
        for i in range(n):
            stdout.write(k[i])
            stdout.write(' ')
        print k[n]
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    

    【程序20】
    题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在
       第10次落地时,共经过多少米?第10次反弹多高?
    1.程序分析:见下面注释
    2.程序源代码:

    Sn = 100.0
    Hn = Sn / 2

    for n in range(2,11):
    Sn += 2 * Hn
    Hn /= 2

    print ‘Total of road is %f’ % Sn
    print ‘The tenth is %f meter’ % Hn

    展开全文
  • 无论重视或是轻视,微信小程序都越来越多地出现在了我们的生活、工作和学习中。前期大量的工具类型小程序给了我们对待某些低频应用的第三种选择,后期社交电商小程序(拼多多等)的爆发,答题解题类型的小程序(头脑...

    2017年微信小程序横空出世,惊诧了中国移动互联网。看重者言其将革了 IOS 和 Android 的命,看轻者斥其必将无所作为。

    无论重视或是轻视,微信小程序都越来越多地出现在了我们的生活、工作和学习中。前期大量的工具类型小程序给了我们对待某些低频应用的第三种选择,后期社交电商小程序(拼多多等)的爆发,答题解题类型的小程序(头脑王者、成语大人等)的流行,都证实了依托于微信关系圈的微信小程序是有看头的。

    那么,作为近年来火爆的 Python 语言的开发者面对同样日益火爆的微信小程序,该如何下手呢?

    本篇 Chat 将会通过一个真实的微信小程序应用——【票圈神器】(名字可能有变)的开发,从微信小程序的注册、页面设计、到页面逻辑的处理、提交上架再到微信小程序请求的 API 数据接口——基于 Django 的 Python 简易 Web API 服务的构建,讲述作为个人开发者,开发一个微信小程序的流程和步骤。

    本篇 Chat 面向于微信小程序初学者、Python 初学者以及对微信小程序开发感兴趣的 Python 开发者,文中将会涉及:

    1. 微信小程序的注册;
    2. 微信小程序的页面设计(构建页面);
    3. 微信小程序的API使用(数据渲染和媒体操作);
    4. Python 对图像的操作应用;
    5. Django 简易API接口的创建;
    6. 微信小程序的上线。

    阅读全文: http://gitbook.cn/gitchat/activity/5aa1323b05c1db772f2ff2d0

    您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。

    FtooAtPSkEJwnW-9xkCLqSTRpBKX

    展开全文
  •  近期需要开发一个打分的微信小程序,涉及到与后台服务器的数据交互,因为业务逻辑相对简单,故选择Python的轻量化web框架Flask来搭建后台程序。因为是初次接触小程序,经过一番摸索和尝试,个人觉得的微信小程序与...
  • 微信小程序: 1、注册小程序;相关就不细说了 2、了解并下载小程序开发工具; 3、了解一下开发小程序所涉及的各种语言,如wxss,wxml,json,js,知道它们大致的功能和作用; 4、了解微信小程序的开发文档,知道...
  • 100个Python练手小程序学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python。 【程序1】  题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少...
  • 在知乎上,有人提问“如何使用Python开发微信小程序”。其实微信小程序作为一个前端的机制,Python并不能插上边。只不过可以作为后端接口为微信小程序提供数据服务...
  • (来自 Alex Dongs Weblog)2、 写个Python程序把我的Blog备份下来 (来自 limodou的学习记录 )这两个小程序自己稍稍修改一下,很多地方都可以用得着了。其中的第二个程序是把每条记录备份成html格式,我想要是备份...
  • 编者按:本书节选自图书《Python与机器学习实战》,Python本身带有许多机器学习的第三方库,但本书在绝大多数情况下只会用到Numpy这个基础的科学计算库来进行算法代码的实现。这样做的目的是希望读者能够从实现的...
  • Python爬虫系列之微信小程序实战 基于Scrapy爬虫框架实现对微信小程序数据的爬取 首先,你得需要安装抓包工具,这里推荐使用Charles,至于怎么使用后期有时间我会出一个事例 最重要的步骤之一就是分析接口,理...
  • 这篇文章主要介绍了Python简单基础小程序的实例代码,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下 1 九九乘法表 for i in range(9):#从0循环到8 i += 1#等价于 i = i+1 for j in range(i):#从0循环到...
  • 100个Python练手小程序学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python。 本文附带基础视频教程:私信回复【基础】就可以获取的 【程序1】 题目:有1、2、3、4个数字,...
  • 我将在实战过程中带大家快速掌握python mtv的设计模式、API接口设计、人脸特征|框选|截取|勾勒|化妆功能封装、微信授权登录、小程序组件开发、IP地址解析、UA访问跟踪、后台管理系统开发以及基于线程池的异步io非...
  • python练手小程序

    2018-04-10 14:02:25
    1.生成200个指定长度的随机码import random import string def rand_str(num,len=7): f = open('file.txt','w') count = 1 for i in range(num): restr = '' chars = string.ascii_lowercase+ str...
  • Python每日一个小程序

    2016-01-17 19:13:49
    前几天上网,收集了20多道Python练习题。这些练习题还是很有价值的,正好最近忙着复习准备校招,可以用来练手。我会把每道题都写一篇博客详细阐述解题思路和源代码,在每道题目后面附上博客地址。希望大家对我的代码...
  • 写在前面: 主要运用python进行简单的图像处理,不得不说python用起来是真的爽,各种库的学习使得开发变得越来越简单... 其实玩过这个小程序的应该知道实现起来也不是很难,很适合新手练手。第一次到了500多题不...
1 2 3 4 5 ... 20
收藏数 186,480
精华内容 74,592