博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python练习小程序1
阅读量:3897 次
发布时间:2019-05-23

本文共 4398 字,大约阅读时间需要 14 分钟。

标准答案:网址http://www.dajiangtai.com/community/18316.do

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

b=[]for i in range(1,5):    for j in range(1,5):        for z in range(1,5):            a=i+j*10+z*100            if(i!=j)and(j!=z)and(i!=z):               b.append(a)b=set(b)

题目:企业发放的奖金根据利润提成。利润(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.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。

price=0profit=input('input gain:\n')profit=int(profit)if profit<=10:        price=price*(1+0.1)elif 10
<20: price=10*0.1+(profit-10)*0.075+priceelif 20
<40: price=10*0.1+10*0.075+(profit-20)*0.05+priceprint(price)

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后
      的结果满足如下条件,即是结果。请看具体分析:

import mathfor 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)

题目:输入三个整数x,y,z,请把这三个数由小到大输出。

1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,
然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。

a=[]def function(x,y,z):    b=[x,y,z]    while b:          a.append(min(b))          b.remove(min(b))    print(a)

题目:输入某年某月某日,判断这一天是这一年的第几天?

1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊
      情况,闰年且输入月份大于3时需考虑多加一天。
      raw_input() 与 input() __ Python
这两个均是 python 的内建函数,通过读取控制台的输入与用户实现交互。但他们的功能不尽相同。举两个小例子。

raw_input和input函数的区别

raw_input_A = raw_input("raw_input: ")

raw_input: abc

input_A = input("Input: ")

Input: abc
5
6 Traceback (most recent call last):
7 File “<pyshell#1>”, line 1, in
8 input_A = input("Input: ")
9 File “”, line 1, in
10 NameError: name ‘abc’ is not defined
11 >>> input_A = input("Input: ")
12 Input: “abc”
13 >>>
1 >>> raw_input_B = raw_input("raw_input: ")
2 raw_input: 123
3 >>> type(raw_input_B)
4 <type ‘str’>
5 >>> input_B = input("input: ")
6 input: 123
7 >>> type(input_B)
8 <type ‘int’>

a=0year=int(input("input year:\n"))month=int(input("input month:\n"))day=int(input("input day:\n"))if(year/4!=0):    if month==1:        sum=day    elif month==2:        sum=31+day    elif month==3:         sum=31+28+dayelse:    if month==1:        sum=day    elif month==2:        sum=31+day    elif month==3:         sum=31+29+day

例子 1 可以看到:这两个函数均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。

例子 2 可以看到:raw_input() 将所有输入作为字符串看待,返回字符串类型。而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float );同时在例子 1 知道,input() 可接受合法的 python 表达式,举例:input( 1 + 3 ) 会返回 int 型的 4 。

查看 Built-in Functions ,得知:

input([prompt])

Equivalent to eval(raw_input(prompt))

input() 本质上还是使用 raw_input() 来实现的,只是调用完 raw_input() 之后再调用 eval() 函数,所以,你甚至可以将表达式作为 input() 的参数,并且它会计算表达式的值并返回它。

不过在 Built-in Functions 里有一句话是这样写的:Consider using the raw_input() function for general input from users.

除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。

6.题目:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!
1.程序分析:字符共有256个。不同字符,图形不一样。
ord()函数主要用来返回对应字符的ascii码,chr()主要用来表示ascii码对应的字符他的输入时数字,可以用十进制,也可以用十六进制。

a = 176b = 219print(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))

例如:print ord('a)

#97      print chr(97)     #a

7.题目:输出9*9口诀。

1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

for i in range(1,10):    for j in range(1,10):        result=i*j        print("%d*%d=%d"%(i,j,result))

8.题目:要求输出国际象棋棋盘(国际象棋棋盘是个正方形,由横纵各8格、颜色一深一浅交错排列的64个小方格组成。深色格称黑格,浅色格称白格,棋子就放在这些格子中移动,每一个格子都有自己的名字)。

1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。

import sysfor 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('')

9.题目:打印楼梯,同时在楼梯上方打印两个笑脸。

1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。

import syssys.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 ('')

10.题目:用号输出字母C的图案。

1.程序分析:可先用’’号在纸上写出字母C,再分行输出。

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

转载地址:http://vlyen.baihongyu.com/

你可能感兴趣的文章
从网上搜索到的一些关于pcap源代码,入门级的
查看>>
Linux—— Posix IPC
查看>>
在ubuntu下安装ACE编译环境
查看>>
公司HR面试经常问的问题及回答思路
查看>>
ACE之反应堆学习(一)
查看>>
apache配置
查看>>
快速精通FRAME
查看>>
msf反弹木马之免杀
查看>>
写一个简单的python爬虫程序,爬取一下百度图片
查看>>
简单Dos命令以及批处理
查看>>
使用python执行cmd命令
查看>>
利用python脚本实现一招断网
查看>>
10行代码教你用python进行Dos攻击
查看>>
完善了一点的爬虫
查看>>
sqli-labs-master通关手册
查看>>
想要远程获取对方的桌面?Python教你一招搞定!
查看>>
给你打个QQ电话就能知道你在哪,你敢信?
查看>>
pip换源_命令行下一步到位
查看>>
python调用笔记本摄像头
查看>>
永恒之蓝(ms17-010)漏洞复现,进行简单后渗透信息收集
查看>>