100道Python经典练手题,这些题目特别适合新手小白

整理了100道Python的练习题,如果你是一位初学者,那么这一份练习题将会给你带来极大的帮助,如果你能够完全独立的完成这份练习题,你已经入门的Python了,练习题涵盖Python基础的大部分内容:【PDF文末拿!】

【程序 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】
题目:企业发放的奖金根据利润提成。利润(0)低于或等于 10万元时,奖金可提 10%;利润高
于 10 万元,低于 20 万元时,低于 10万元的部分按 10%提成,高于10万元的部分,可可提
成7.5%;20万到40万之间时,高于20万元的部分,可提成540万60万之间时高于
40万元的部分,可提成3%60万到100万之间时,高于60万元的部分,可提成1.5%,高于
100万元时,超过100万元的部分按 1%提成,从键盘输入当月利润1,求应发放奖金总数?
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')) ifi<= 100000:
bonus=i*0.1 elifi <= 200000:
bonus = bonus1+(i-100000) *0.075 elifi <=400000:
bonus=bonus2+(i-200000)*0.05elifi<=600000:
bonus=bonus4+(i-400000)*0.03 elifi <= 1000000:
bonus=bonus6+(i-600000)*0.015 else:
bonus=bonus10+(i-1000000)*0.01 print'bonus=',bonus

【程序 3】
题目:一个整数,它加上 100 后是一个完全平方数,再加上 268 又是一个完全平方数,请问该数是多少?
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 为再加上 268 后开方后的结果*/
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
【程序 4】
题目:输入某年某月某日,判断这一天是这一年的第几天?
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进行比较,如果 xy则将x与y
的值进行交换,然后再用x与工进行比较,如果xz则将x与工的值进行交换,这样能使x最

小。
2.程序源代码:
I = П
for i in range(3):
x= int(raw_input(integer: \n'))
I.append(x)
I.sort( print I

【程序6】
题目:用*号输出字母C的图案。
1.程序分析:可先用141号在纸上写出字母C,再分行输出。
2.程序源代码:
print 'Hello Python world!'n' print '** * 10 for i in range(5):
print '*
print '** * 10
print '*\n' * 6
 


【程序 96】
题目:计算宇符串中子串出现的次数
1.程序分析:
2.程序源代码:
if name_
==1
_main ':
str1 = raw_input(input a string: \n')
str2 = raw_input(input a sub string: \n')
ncount = str1.count(str2)
print ncount
【程序 97】
1.程序分析:
2.程序源代码:
题目:从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个#为止。
if name ==' main_
from sys import stdout
filename = raw input('input a file name: (n')
fp = open(filename, "w")
ch = raw_input(input string:\n")
while ch != '#':
fp.write(ch)
stdout.write(ch)
ch = raw_input(")
fp.close()
【程序 98】
“test” 中保存。
输入的宇符串以!结束。
1.程序分析:
2.程序源代码:
题目:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件
if _name
=='
main
fp = open('test.txt','w')
string = raw_input'please input a string: (n')
string = string.upper()
fp.write(string)
fp = open('test.txt ,' r')
print fp.read()
†p.close)
【程序 99】
排列),
输出到一个新文件C中•
1.程序分析:
2.程序源代码:
题目:有两个磁盘文件 A 和 B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序
if name
==1
main
import string
fp = open('JCP099.py')
a = fp.read()
fp.close(
fp = open('JCP098.py')
b = fp.read()
fp.close()
fp = open('C.txt', 'w')
I = list(a + b)
.sort(
S="
s = s.join(l)
fp.write(s)
fp.close()
由于篇幅限制就不一一展示了,完整版值得苦练的100道Python经典练手题

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值