栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

程序编程python

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

程序编程python

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录
  • 一、二使用步骤
    • 1.汇率兑换程序
    • 2.汇率兑换程序2
    • 3. 一年按365 天计
    • 4.判断水仙花数。
    • 5.输入一行字符,统计其中有多少个单词,
  • 二、三使用步骤
    • 1等边三角形的绘制。
    • 2.正方形的绘制。
    • 3. 利用turtle库绘制以下紫色蟒蛇图形。
  • 三、四使用步骤
    • 1. 统计不同字符的个数
    • 2,猜数游戏。
    • 3,大公约数计算从两个整数,编写程序求出这两个整数的最大公约数和最小公倍数
    • 4,编写一个程序,接收一行序列作为输入,并将序列中的所有字符以大写字符输出。
  • 四、五使用步骤
    • 1.编写一个程序,根据给定的公式计算并输出值,
    • 2.学校招聘了8名新教师,已知学校有3个空闲办公室且工位充足,现需要随机安排这8名教师的工位。编写程序实现为这8名教师随机分配办公室的功能。
    • 3.编写程序统计《三国演义》中出场频率排名前 20位的人物。
  • 五、一使用步骤
    • 1.整数序列求和。
    • 2.整数排序。
    • 3.使用列表实现斐波那契数列。


一、二使用步骤 1.汇率兑换程序

代码如下(示例):

TempStr=input("请输入币种符号(y(yuan)/d(dollar)):")
  x=eval(input("请输入面额值:"))
  if TempStr in ['Y','y']:
      C=x/6
      print("转换后是{:.2f}美元".format(C))
  elif TempStr in ['D','d']:
      F=x*6
      print("转换后是{:.2f}人民币".format(F))
  else:
      print("输入格式错误!")


2.汇率兑换程序2

代码如下(示例):

Money = input('''目前仅支持人名币(Y)与美元(D)兑算,
请输入您需要用于兑换的货币数值及类型:''')
if Money[-1] in ["y","Y"]:
    D = (eval(Money[0:-1]))/6
    print(Money[0:-1]+"人民币可兑换{:.2f}美元".format(D))
elif Money[-1] in ["D","d"]:
    Y = (eval(Money[0:-1]))*6
    print(Money[0:-1]+"美元可兑换{:.2f}人民币".format(Y))
else:
    print("输入格式错误")

该处使用的url网络请求的数据。


3. 一年按365 天计

以1.0作为每天的能力值基数,每天原地踏步则能力值为1.0,每天努力一点则能力值提高1%,每天再努力一点则能力值提高2%,一年后,这三种行为收获的成果相差多少呢?请利用math 库编写程序,求解下列公式。

import math
math.pow(1, 365)
math.pow((1+0.01), 365)
math.pow((1+0.02), 365)

4.判断水仙花数。

水仙花数是一个3位数,它的每位数字的3次幂之和等于它本身。例如,13+53+33=153,153就是一个水仙花数。编写程序,判断用户输入的3位数是否为水仙花数。

num3 = int(input("请输入一个三位数:"))
hundreds_place = int(num3 // 100 )  # 百位
ten_place = int(num3 / 10 % 10)  # 十位
one_place = int(num3 % 10)  # 个位
if hundreds_place ** 3 + ten_place ** 3 + one_place ** 3 == num3:
    print(f"{num3}是水仙花数")
else:
    print(f"{num3}不是水仙花数")

5.输入一行字符,统计其中有多少个单词,

每两个单词之间以空格隔开。例如,输入“This is a Python program”,输出“There are 5 words in the line”

s = input('请输入一行字符:')
li = s.split(" ")
n = len(li)
print(f"There are {n} words in the line")

二、三使用步骤 1等边三角形的绘制。

利用turtle 库中的turtle.fd函数和turtle.seth(函数绘制一个等边三角形

import turtle
turtle.setup(500, 500)
turtle.fd(100)
turtle.left(120)
turtle.fd(100)
turtle.left(120)
turtle.fd(100)

2.正方形的绘制。

利用 turtle 库绘制正方形,

import turtle as t
t.setup(400,400)
for i in range(4):
    a = i*90
    t.seth(a)
    t.fd(40)
t.done

3. 利用turtle库绘制以下紫色蟒蛇图形。

import turtle as tt             #turtle库导入,取[别名]为tt

tt.setup(650, 350 , 200, 200)   #绘制显示的窗体 (width,height,startx,starty)
tt.penup()                      #画笔抬起
tt.fd(-250)                     #向后倒退250个像素
tt.pendown()                    #画笔落下
tt.pensize(25)                  #画笔的宽度   25像素
tt.pencolor("purple")           #画图的颜色
tt.seth(-40)                     #向右转40度

for i in range(4):              #循环4次
    tt.circle(40, 80)           #在海龟的左侧绘制半径为40,80度的圆
    tt.circle(-40, 80)          #在海龟的右侧绘制半径为40,80度的圆

tt.circle(40, 80/2)             #在海龟的左侧绘制半径为40,40度的圆
tt.fd(40)                       #往前走40像素
tt.circle(16, 180)              #在海龟的左侧绘制半径为16,180度的圆
tt.fd(40 * 2/3)                 #往前
tt.done()                       #程序结束后不要立即退出

三、四使用步骤 1. 统计不同字符的个数

用户从键盘输入一行字符,编程统计并输出其中的英文,字符。数字、空格和其他字符的个数。

c,n,b,o = 0,0,0,0 # c代表字符个数 n代表数字个数 b代表空格个数 o代表其他字符个数
strs = input("请随意输入一行字符,包含字母,数字,空格或其他字符:")
for s in strs:
    if ord('a') <= ord(s) <= ord('z') or ord('A') <= ord(s) <= ord('Z'):
        c += 1
    elif ord('0') <= ord(s) <= ord('9'):
        n += 1
    elif ord(' ') == ord(s):
        b += 1
    else:
        o += 1
print("包含字母{0}个,数字{1}个,空格{2}个,其他字符{3}个".format(c,n,b,o))

2,猜数游戏。

在程序中预设一个 0~9之间的整数,让用户通过键盘来输入所猜的数。如果大于预设的数,则输出“遗憾,太大了”:如果小于预设的数,则输出“遗憾,太小了”。如此循环,直至猜中该数,则输出“预测N次,你猜中了!”,其中N是用户输入数字的次数。

k = 5
x = eval(input("请输入0~9之间的整数"))
tem = 0
while x != k:
    tem += 1
    if(x > k):
        print("遗憾,太大了")
    else:
        print("遗憾,太小了")
    x = eval(input("请输入0~9之间的整数"))
print("预测{}次,你猜中了".format(tem))
3,大公约数计算从两个整数,编写程序求出这两个整数的最大公约数和最小公倍数

(提示:求最大公约数可采用辗转相除法;求最小公倍数则用两个数的积除以最大公约数即可)。

m,n = eval(input("请输入连个整数,中间以逗号隔开"))
x,y = m,n
r = m % n
while r != 0:
    m,n = n,r
    r = m % n
print("{}和{}的最大公约数:{};最小公倍数:{:.0f}".format(x,y,n,x*y/n))
4,编写一个程序,接收一行序列作为输入,并将序列中的所有字符以大写字符输出。
lines = []
while True:
    s = input()
    if s:
        lines.append(s.upper())
    else:
        break;

for sentence in lines:
    print(sentence)
四、五使用步骤 1.编写一个程序,根据给定的公式计算并输出值,

公式为Q-sqr(2CD)/H)。C和H为固定值:C-50:H=30。D是一个变量,它的值应该以英文逗号分隔的序列输入程序。例如, 程序的输入序列为“100,150,180”,程序输出“18,22,24”

import math
c = 50
h = 30
value = []
print('请输入一组数字:')
items = [x for x in input().split(',')]
for d in items:
    value.append(str(int(round(math.sqrt(2 * c * float(d) / h)))))

print(','.join(value))
2.学校招聘了8名新教师,已知学校有3个空闲办公室且工位充足,现需要随机安排这8名教师的工位。编写程序实现为这8名教师随机分配办公室的功能。
import random
# 定义一个列表用来保存3个办公室
offices = [[], [], []]
# 定义一个列表用来存储8位老师的名字
names = ['张老师', '李老师', '赵老师', '高老师',
         '刘老师', '周老师', '王老师', '吴老师']
for name in names:
    # 将8位老师按照索引为0、1、2进行分组
    index = random.randint(0, 2)
    # print(index)
    # 将8位老师放在不同列表中
    offices[index].append(name)
flag = 1
for tempNames in offices:
    print('办公室%d的人数为:%d' % (flag, len(tempNames)))
    flag += 1
    for name in tempNames:
        print("%s" % name, end=' ')
    print(" ")
3.编写程序统计《三国演义》中出场频率排名前 20位的人物。
import jieba
 
article = open('三国演义.txt', 'r', encoding='utf-8').read()
words = jieba.lcut(article)
//排除干扰项,可添加
exincludes = ['将军', '却说', '二人', '不可', '荆州', '如此', '不能',
            '商议', '如何', '主公', '军士', '左右', '军马', '引兵',
            '次日', '大喜', '天下', '于是', '东吴', '今日', '不敢',
            '魏兵', '人马', '不知', '汉中', '陛下', '一人', '众将',
            '只见', '蜀兵', '大叫', '上马', '此人', '后人', '城中',
            '背后', '一面', '先主', '太守', '大军', '何不', '然后',
            '忽报', '先生', '夫人', '不如', '先锋', "何故", '江东',
            '原来', '令人', '天子', '赶来', '徐州', '正是', '忽然',
            '下马', '因此', '大败', '未知', '百姓', '成都', '大事',
            '一军', '之后', '起兵', '喊声', '不见', '接应', '引军',
            '进兵', '引军', '军中', '大怒', '大惊', '可以', '谋反',
            '心中', '以为', '军民', '不得', '休走', '帐中', '可得']
nums = {}
//别称
for word in words:
    if len(word) == 1 or word in exincludes:
        continue
    elif word in ['丞相','曹孟德','孟德']:
        nums['曹操'] = nums.get('曹操', 0) + 1
    elif word in ['孔明曰', '诸葛亮','卧龙','伏龙','武乡侯','忠武侯','蜀相']:
        nums['孔明'] = nums.get('孔明', 0) + 1
    elif word in ['玄德曰', '玄德' , '刘豫州','汉中王','汉昭烈帝','平原相','汉室宗亲','中山靖王之后','刘皇叔']:
        nums['刘备'] = nums.get('刘备', 0) + 1
    elif word in ['关公', '云长','寿亭侯','关云长']:
        nums['关羽'] = nums.get('关羽', 0) + 1
    elif word in ['都督','周郎','公瑾']:
        nums['周瑜'] = nums.get('周瑜', 0) + 1
    elif word in ['飞将','吕温侯','奉先','吕奉先']:
        nums['吕布'] = nums.get('吕布', 0) + 1
    elif word in ['常胜将军','子龙','赵子龙']:
        nums['赵云'] = nums.get('赵云',0)+1
    else:
        nums[word] = nums.get(word, 0) + 1
numslist = list(nums.items())
//次数排序
numslist.sort(key=lambda x: x[1], reverse=True)
for i in range(20):
    word, count = numslist[i]
    print("{} {}".format(word, count))

答案案下

import jieba
excludes = {}#{"将军","却说","丞相"}
txt = open("三国演义.txt", "r", encoding='utf-8').read()
words  = jieba.lcut(txt)
counts = {}
for word in words:
    if len(word) == 1:
        continue
    else:
        counts[word] = counts.get(word,0) + 1
for word in excludes:
    del(counts[word])
items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=True) 
for i in range(15):
    word, count = items[i]
print ("{0:<10}{1:>5}".format(word, count))

五、一使用步骤 1.整数序列求和。

接收用户输入的整数n,计算并输出1~n相加的结果

2.整数排序。

接收用户输入的4个整数,并把这4个数由小到大输出

3.使用列表实现斐波那契数列。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/938389.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号