Python练习

文章转载至:https://blog.csdn.net/cnzyhzz/article/details/44983703

test1: 整数求和的计算

具体内容:
用户输入一个整数N,计算
(1)从1到N(包含1和N)相加之后的结果;
(2)从1到N(包含1和N)之间所有奇数求和的结果;
(3)将上述两个结果输出到屏幕上。
注意:整数可以取值为负数。
[python]  view plain  copy
  1. ''''' 
  2. 需求:用户输入一个整数N,计算 
  3.       (1)从1到N(包含1和N)相加之后的结果; 
  4.       (2)从1到N(包含1和N)之间所有奇数求和的结果; 
  5.       (3)将上述两个结果输出到屏幕上。 
  6.       注意:整数可以取值为负数。'''  
  7. N = input("the number is")  
  8. sum_0,sum_1=0,0  
  9. sum_0_, sum_1_=0,0  
  10. #(1):先判断N值,再进行求和计算,关键代码重复  
  11. '''''if(N>=1): 
  12.     for i in range (N+1):   #i默认从零开始,在for之前定义i值也无法改变for中i值。 
  13.         sum_0+=i            #若在for中改变i值则会报错,for...只是控制循环次数,想要改变循环次数,只能从终点值入手。 
  14.         if(i%2!=0): 
  15.             sum_1+=i 
  16. else: 
  17.     for i in range (-N+1): 
  18.         sum_0_+=-i 
  19.         if(i%2!=0): 
  20.             sum_1_+=-i 
  21.     sum_0=sum_0_+1 
  22.     sum_1=sum_1_+1'''  
  23. #(2):先进行求和,再判断N值,增强代码复用性。  
  24. for i in range (abs(N)+1):#循环[0,abs{N)]次,i从0到abs(N)  
  25.         sum_0_+=i  
  26.         if(i%2!=0):  
  27.             sum_1_+=i  
  28. if(N>=1):  
  29.     sum_0=sum_0_  
  30.     sum_1=sum_1_  
  31. else:  
  32.     sum_0=-sum_0_+1  
  33.     sum_1=-sum_1_+1    
  34. print "sum_0=%d " %sum_0    
  35. print "sum_1=%d " %sum_1  


test2: 长度转换程序
具体内容:
设计一个程序,能够:
(1)将用户输入的公制长度单位(米、千米)转换成英制长度单位(英寸、英里);
(2)将用户输入的英制长度单位(英寸、英里)转换成公制长度单位(米、千米);
(3)将转换结果输出到屏幕上。
提示: 
长度单位:1 英寸=2.5400 厘米 
     1 英里 =1.6093 千米
[python]  view plain  copy
  1. # -*- coding: cp936  
  2. '''''需求:长度转换程序 
  3.           设计一个程序,能够: 
  4.            (1)将用户输入的公制长度单位(米、千米)转换成英制长度单位(英寸、英里); 
  5.            (2)将用户输入的英制长度单位(英寸、英里)转换成公制长度单位(米、千米); 
  6.            (3)将转换结果输出到屏幕上。 
  7.            1 英寸=2.5400 厘米  
  8.         1 英里 =1.6093 千米'''  
  9. input_str=raw_input("please input thr length:")  
  10. l=0  
  11.   
  12. if input_str[-2in ['k','K']:     
  13.     l=(eval(input_str[0:-2])*100000) /2.54  
  14. elif((input_str[-1in ['m','M'])and(input_str[-2not in['k','K'] )):  
  15.     l=(eval(input_str[0:-1])*100)/2.54  
  16. elif input_str[-1in ['h','H']:  
  17.     l=eval(input_str[0:-4])*2.54*100  
  18. elif input_str[-1in ['e','E']:  
  19.     l=eval(input_str[0:-4])*1.6093*1000  
  20. #print "%f=" %input_str  
  21. print "%f(m/inch)" %l  


test3: 闰年计算
具体内容:
设计一个程序,实现以下功能:
(1)用户输入一个年份;
(2)判断这个年份是否是闰年;
(3)输出判断结果。
[python]  view plain  copy
  1. '''''需求:闰年计算 
  2.       设计一个程序,实现以下功能: 
  3.             (1)用户输入一个年份; 
  4.             (2)判断这个年份是否是闰年; 
  5.             (3)输出判断结果。'''  
  6. year=input("please input the year")  
  7. if((year%4==0 and year%100!=0)or(year%400==0)):  
  8.     print "the %d is 闰年" %year  
  9. else:  
  10.     print"the %d is not 闰年" %year  


extra1: 质数判断
具体内容:
设计一个程序,实现以下功能:
(1)用户输入一个整数N;
(2)判断这个整数是否是质数;
(3)输出判断结果。
[python]  view plain  copy
  1. '''''需求:质数判断 
  2.       设计一个程序,实现以下功能: 
  3.            (1)用户输入一个整数N; 
  4.            (2)判断这个整数是否是质数; 
  5.            (3)输出判断结果。'''  
  6. N=input("please input n")  
  7. if ((N%2)==0):  
  8.     print "the %d is not 质数" %N  
  9. else:  
  10.     for i in range (N/2):  
  11.         i=3  
  12.         if((N%i)==0):  
  13.             print "the %d is not 质数" %N  
  14.             break  
  15.         else:  
  16.             print "the %d is  质数" %N  
  17.             break  
  18.               
  19.           
  20.           


extra2: 求斐波那切数列
具体内容:
设计一个程序,实现以下功能:
(1)用户输入一个整数N;
(2)输出斐波那切数列的前N项;
提示: 
该数列的第一和第二项值均为1,从第三项开始值依次为相邻前两项之和

[python]  view plain  copy
  1. '''''需求: 求斐波那切数列 
  2.        设计一个程序,实现以下功能: 
  3.              (1)用户输入一个整数N; 
  4.              (2)输出斐波那切数列的前N项; 
  5.            提示:  
  6.               该数列的第一和第二项值均为1,从第三项开始值依次为相邻前两项之和'''  
  7. #for里的i默认为0,即使你给其赋值,在for里i的值依旧未变  
  8. N=input("please input n=")  
  9. a=1  
  10. b=1  
  11. c=1  
  12. if(N>2):  
  13.       
  14.       
  15.     for i in range (N-2):  
  16.         a=b  
  17.         b=c  
  18.         c=a+b  
  19.     print "%d" %c  
  20. else:  
  21.     print "1"   

文章转载至:https://blog.csdn.net/cnzyhzz/article/details/44983703

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值