您的位置:首页 > 编程语言 > Python开发

python程序设计基础3:python选择和循环结构

2014-03-27 15:59 543 查看
这一节的知识点很简单:选择:if else 循环:while或者for。所以这一节我们直接上例题。

1.输入三角形的三条边,判断是否能组成三角形。若是可以,计算三角形的面积。

代码:

import math

a,b,c=input('please input 3 numbers(with ","in them):')

if a+b>c and a+c>b and b+c>a:

    print 'this is a triangle !'

    p=(a+b+c)/2

    areaspr=p*(p-a)*(p-b)*(p-c)

    area=math.sqrt(areaspr)

    print 'area=',area

else:

    print'that is not triangle!'

结果:

please input 3 numbers(with ","in them):3,4,5

this is a triangle !

area= 6.0

please input 3 numbers(with ","in them):1,2,6

that is not triangle!

2.循环 主要使用while和 for实现

1、询问用户输入一个成绩,计算平均成绩输出,并询问是否继续。

代码:

sumall=0.0

num=0

endflag='y'

while endflag=='y':

    score=input('please input a score!')

    num=num+1

    sumall=sumall+score

    mean=sumall/num

    print'the mean is:',mean

    endflag=raw_input('would you like to go on?(y/n)')

结果:

please input a score!89

the mean is: 89.0

would you like to go on?(y/n)y

please input a score!87

the mean is: 88.0

would you like to go on?(y/n)y

please input a score!68

the mean is: 81.3333333333

would you like to go on?(y/n)n

2、输入一个列表,输出里面所有偶数元素的和

代码:

num_list=input('please input a list:')

sum=0

for num in num_list:

    if num%2==0:

        sum=sum+num

print 'the sum of even number is:',sum

结果:

please input a list:[0,4,3,5,7,8]

the sum of even number is: 12

3、while解决不确定次数的循环:从键盘输入若干整数,求所有输入的正数的和,遇到负数以后便结束该操作。

代码:

sum=0

num=input('please input a number,a negtive means the end:')

while num>0:

    sum=sum+num

    num=input('please input a number,a negtive means the end:')

print'the sum of positive is :',sum

print'the end!'

结果:

please input a number,a negtive means the end:4

please input a number,a negtive means the end:5

please input a number,a negtive means the end:7

please input a number,a negtive means the end:2

please input a number,a negtive means the end:-1

the sum of positive is : 18

the end!

4、计算s=1+.....+1/n!

代码:

num=input('please input a number:')

sum=0.0

sumall=0.0

n=1

while n<=num:

    sum=sum+n

    sumall=sumall+1/sum

    n=n+1

print 'the addition is:',sumall

结果:

please input a number:11

the addition is: 1.83333333333

5、求出0-100中能被7整除,但是不能被5整除的所有整数。

for i in range(101):

    if i%7==0 and i%5 !=0:

        print i

结果:

7

14

21

28

42

49

56

63

77

84

91

98

6、使用FOR循环输出9*9乘法表:

代码:

for i in range(1,10):

    for j in range(i,10,1):

        print i,'*',j,'=',i*j,'\t',

    print '\n'

    

结果:

1 * 1 = 1 1 * 2 = 2
1 * 3 = 3 1 * 4 = 4
1 * 5 = 5 1 * 6 = 6
1 * 7 = 7 1 * 8 = 8
1 * 9 = 9

2 * 2 = 4 2 * 3 = 6
2 * 4 = 8 2 * 5 = 10
2 * 6 = 12 2 * 7 = 14
2 * 8 = 16 2 * 9 = 18

3 * 3 = 9 3 * 4 = 12
3 * 5 = 15 3 * 6 = 18
3 * 7 = 21 3 * 8 = 24
3 * 9 = 27

4 * 4 = 16 4 * 5 = 20
4 * 6 = 24 4 * 7 = 28
4 * 8 = 32 4 * 9 = 36

5 * 5 = 25 5 * 6 = 30
5 * 7 = 35 5 * 8 = 40
5 * 9 = 45

6 * 6 = 36 6 * 7 = 42
6 * 8 = 48 6 * 9 = 54

7 * 7 = 49 7 * 8 = 56
7 * 9 = 63

8 * 8 = 64 8 * 9 = 72

9 * 9 = 81 

上面的print i,'*',j,'=',i*j,'\t', 中最后一个,很重要

7、求200以内能够被13整除的最大的整数,并输出。

代码:

for i in range(200,0,-1):

    if i%13==0:

        break

print'the biggest one that can be divided by 13 in 200 is:',i

结果:

the biggest one that can be divided by 13 in 200 is: 195
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python