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

这一节的知识点很简单:选择: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,python,learning)