这是一个Python编程题题库 – Yan Windsky 's

您所在的位置:网站首页 python转换二进制数 这是一个Python编程题题库 – Yan Windsky 's

这是一个Python编程题题库 – Yan Windsky 's

2023-03-28 04:16| 来源: 网络整理| 查看: 265

此篇文章详细记录了python的简单案例,以及课后习题,对应的教材为 Python语言程序设计(清华大学出版社)

期末编程大题可能会从这里出,注意只是可能。 :&(蛆音娘_偷看) 但以下都是常见的例子。

例题原文来自https://blog.ohmykreee.top/答案作者为:Kreee & 张忆文(文忆天下)部分我觉得不是很好的,或没有答案的问题,代码由Windsky Yan来写。

已经确保所有案例都通过 Pycharm 运行成功。当然,一个程序,不止一种形式的代码,但殊途同归。如果有更好的算法也欢迎提出。祝满绩。

1.从键盘输入三个数值,分别赋值给num1, num2和num3,并求它们的平均值。

num1 = eval(input('请输入第一个数字:')) num2 = eval(input('请输入第二个数字:')) num3 = eval(input('请输入第三个数字:')) averNum = (num1 + num2 + num3) / 3 print('这三个数的平均数为:{}'.format(averNum))

2. 输入一个三位数,输出它的逆序数,例如:输入123,输出321。

a = int(input('请输入一个三位整数:')) a1 = a % 10 a2 = a // 10 % 10 a3 = a // 100 % 10 outNum = str(a1) + str(a2) + str(a3) print('该三位数的逆序数为:{}'.format(outNum))

面代码通过[]切片实现

a = input('请输入一个三位整数:') print('该三位数的逆序数为:', a[::-1])

3. 输入一个摄氏温度,输出对应华氏温度。

c = eval(input("Enter a degree in Celsius:")) f = (9 / 5) * c + 32 print( "%d Celsius is %.1f Fahrenheit" %(c, f))

4. 使用键盘输入一个 Unicode 字符,显示出这个字符对应的 Unicode 编码值。

getInput = input('请输入一个字符:') outOrd = ord(getInput) print('字符 {} 的 Unicode 编码值为:{}'.format(getInput, outOrd))

5. 在密码学中,恺撒密码(英语:Caesar cipher),或称恺撒加密、恺撒变换、变换加密,是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以罗马共和时期恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。请使用键盘输入偏移量,并使用偏移量对键盘输入对单个大写英文字母进行加密。如偏移量为3,输入英文字母为Z,则输出为C。

a = int(input("输入的偏移量为:")) b = input("输入单个大写英文字母为:") c = (ord(b) - ord("A") + a) % 26 # 视A-Z为26个字母一个循环,取余数 d = chr(ord("A") + c) print("经过凯撒加密之后,输出的字符为:" + d)

6. 使用 random.randint(a, b) 方法,随机生成三个100以内的自然数,求三个数的和。

# 注意的是randint是闭区间,random是前闭后开。 import random num1 = random.randint(0, 100) num2 = random.randint(0, 100) num3 = random.randint(0, 100) Num = num1 + num2 + num3 print('随机产生的三个数为 {}, {}, {}, 它们的和为{}'.format(num1, num2, num3, Num))

7.使用 round(x, y) 函数,可以将浮点数x保留y位小数。使用键盘,输入两个非零数,求这两个数的商,结果保留两位小数。输出的时候,请注意使用“➗”(十进制Unicode编码:10135)作为连接符表示除号。

num1 = eval(input("请输入被除数:")) num2 = eval(input("请输入除数:")) outNum = round(num1 / num2, 2) # 第一次写的时候用\n一直转义不出来➗,后来才意识到用chr()函数。。。 print(str(num1) + chr(10135) + str(num2) + '=' + str(outNum))

8.使用 time.time() 方法能够得到目前的时间点,距离1970年1月1日0时0点0分0秒已经过去了多少秒。已知,1970年1月1日星期四,使用计算机计算得出:(1)今天距离1970年1月1日,过了多少天(2)今天是星期几。

# time.time函数:获取程序运行当时的时间值。这个时间值是一个浮点数,整数部分为秒数,这个秒数是从格林尼治时间1970年1月1日0点开始计算的。 import time currTime = time.time() dayPassed = int(currTime // (60 * 60 * 24)) weekPassed = int(dayPassed % 7) # 1970年1月1日为周4,7-4=3 if weekPassed > 3: currWeek = weekPassed - 3 else: currWeek = weekPassed + 4 print('今天距离1970年1月1日,过了 {} 天,今天是星期{}'.format(dayPassed, currWeek))

9.解一元二次方程组,ax^2 + bx + c = 0,时,有三种可能情况,分别为:1、 有两个不等实根2、 有两个相等实根3、 无实根。请使用键盘输入a, b, c的值,并输出一元二次方程的解。

a, b, c = eval(input("输入一元二次方程的 a,b,c 的值以逗号隔开:")) if a == 0: if b == 0: if c == 0: print("该方程有任意解") else: print("该方程无解") else: print("该方程有唯一解且解为x1={}".format(-c/b)) else: delta = b ** 2 - 4 * a * c if delta < 0: print("这个方程无实数解") elif delta == 0: root = (-b) / (2 * a) print("这个方程有两个相等的根,其值为x1=x2={:.2f}".format(root)) else: root1 = ((-b) + delta ** 0.5) / (2 * a) root2 = ((-b) - delta ** 0.5) / (2 * a) print("这个方程有两个不同的根: x1 = {:.2f},其值为x2={:.2f}".format(root1, root2))

10.空气污染指数api的取值与对应的空气质量关系如下:0~50为优, 51~99为良,100~199为轻度污染,200~299为中度污染,300以上为重污染。请编写程序,从键盘输入api值,并输出api值所对应的空气质量。

getApiNum = int(input('请输入空气污染指数:')) if getApiNum


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3