Python之课堂作业三
1、有些数字的立方的末尾正好是该数字本身,比如1(立方是1)、4(立方是64)、5(立方是125),还有6、9、24、25…。题目输入一个N(已保证1<=N<=10000),请计算输出1到N之间所有的立方尾不变数及个数。
输入格式
输入为一行,是一个大于等于1小于等于10000的正整数N。
输出格式
输出为两行:第一行是以空格分开的一些立方尾不变数,这些数处于[1,N]区间内(每个数字末尾有一个空格);第二行是一个整数,为[1,N]区间内立方尾不变数字的个数。
N=eval(input())
num=0
for i in range(1,N+1):if 1<=i<10:a=i**3%10if i==a:num+=1print(i,end=" ")elif 10<=i<100:b=i**3%100if i==b:num+=1print(i,end=" ")elif 100<=i<1000:c=i**3%1000if i==c:num+=1print(i,end=" ")elif 1000<=i<=10000:d=i**3%10000if i==d:num+=1print(i,end=" ")
print()
print(num)
输出结果:
150
1 4 5 6 9 24 25 49 51 75 76 99 125
13***Repl Closed***
2、设计一个用二分法计算一个大于或等于 1 的实数 n 的平方根的函数sqrt_binary(n),计算精度控制在计算结果的平方与输入的误差不大于1e-6。
注:初始区间取[0,n]
输入格式
输入一个实数 n(大于或等于1)
输出格式
第一行输出用自己设计的函数计算得到的平方根
第二行输出用math库开平方函数计算得到的平方根
import math
n=eval(input())
def sqrt_binary(n):low=0up=na=1e-6while True:mid=(low+up)/2if abs(mid**2-n)<a:return midelse:if mid**2>n:up=midif mid**2<n:low=mid
print(sqrt_binary(n))
print(math.sqrt(n))
输出结果:
5
2.2360679507255554
2.23606797749979***Repl Closed***
3、恺撒密码 A
凯撒密码是古罗马凯撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下:
原文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
密文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
对于原文字符P,其密文字符C满足如下条件:C=(P+3) mod 26
上述是凯撒密码的加密方法,解密方法反之,即:P=(C-3) mod 26
假设用户可能使用的输入仅包含小写字母a~z和空格,请编写一个程序,对输入字符串进行凯撒密码加密,直接输出结果,其中空格不用进行加密处理。使用input()获得输入。
输入
示例1: python is good
输出
示例1: sbwkrq lv jrrg
#1
def encryption(str, n):cipher = []for i in range(len(str)):if str[i].islower():if ord(str[i]) < 123-n: #ord('z')=122c = chr(ord(str[i]) + n)cipher.append(c)else:c = chr(ord(str[i]) + n - 26)cipher.append(c)elif str[i].isupper():if ord(str[i]) < 91-n: #ord('Z')=90c = chr(ord(str[i]) + n)cipher.append(c)else:c = chr(ord(str[i]) + n - 26)cipher.append(c)else:c = str[i]cipher.append(c)cipherstr = ('').join(cipher)return cipherstrplaintext = input()
ciphertext = encryption(plaintext, 3)
print(ciphertext)#2
t=input()
res=""
for i in t:if i!=" ":i=chr((ord(i)-97+3)%26+97)res=res+ielif i==" ":res=res+" "
print(res)
输出结果:
python
sbwkrq***Repl Closed***
4、恺撒密码 B
恺撒密码是古罗马凯撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下:
原文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
密文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
对于原文字符P,其密文字符C满足如下条件:C = (P+3) mod 26
上述是凯撒密码的加密方法,解密方法反之,即:P = (C-3) mod 26
假设用户可能使用的输入仅包含西文字母,即英文大小写字母azAZ和特殊字符,请编写一个程序,对输入字符串进行凯撒密码加密,直接输出结果,其中特殊字符不进行加密处理。
此题目是AutoOJ(自动评阅)类型,请注意:
- 输入使用input(""),不要增加提示信息
- 输出与要求一致
- 不考虑异常输入情况
输入
示例1: python is GOOD!
输出
示例1: sbwkrq lv JRRG!
t=input()
res=""
for i in t:if i!=" " and 'a'<=i<='z':i=chr((ord(i)-97+3)%26+97)res=res+ielif i!=" " and 'A'<=i<='Z':i=chr((ord(i)-65+3)%26+65)res=res+ielif i==" ":res=res+" "
print(res)
输出结果:
python is GOOD!
sbwkrq lv JRRG!***Repl Closed***
5、用户输入一行字符串,其中可能包括小括号 (),请检查小括号是否配对正确,配对成功与否分别输出:配对成功,配对不成功
其中,小括号配对要考虑配对顺序,即()表示配对,)(不是配对,只考虑小括号配对。
注意,这是一个OJ题目,获得输入使用input("")。
s=input()
left=0
for i in s:if i=="(":left+=1elif i==")":if left>0:left-=1else:print("配对不成功")break
else:if left!=0:print("配对不成功")else:print("配对成功")#函数方法
def parentheses(temp):list1=[]for i in range(len(temp)):if temp[i]=='(' or temp[i]==')':list1.append(temp[i])list2=[]if len(list1)==0:return Trueelif list1[0]==')':return Falseelif len(list1)%2!=0:return Falseelse:for i in range(len(list1)):if list1[i]=='(':list2.append(list1[i])elif list1[i]==')' and len(list2)!=0:list2.pop()else:return Falsereturn Truetemp=input()
if parentheses(temp):print('配对成功')
else:print('配对不成功')#无函数方法
str=input("")
list1=[]
list2=[]
for i in range(len(str)):if str[i]=='(' or str[i]==')':list1.append(str[i])if len(list1)==0:print("配对成功")
elif list1[0]==')':print("配对不成功")
elif list1[-1]=='(':print("配对不成功")
elif len(list1)%2!=0:print("配对不成功")
else:for i in range(len(list1)):if list1[i]=='(':list2.append(list1[i])elif list1[i]==')' and "(" in list2:list2.pop(-1)else:print("配对不成功")if list2==[]: print("配对成功")else:print("")
输出结果:
()(00)())()
配对不成功***Repl Closed***
6、读入一个整数N,N是奇数,输出由星号字符组成的等边三角形,要求:
第1行1个星号,第2行3个星号,第3行5个星号,依次类推,最后一行共N的星号。
#1
N = eval(input())
a = int((N + 1) / 2)
for i in range(1, a + 1, 1):for j in range(a - i):print(" ", end = "")for k in range(2 * i - 1):print("*",end = "")for q in range(a - i):print(" ", end = "")print()
#2
a=eval(input())
for i in range(a): if (i+1)%2==1: b='*'*(i+1) b=str(b) print(b.center(a," "))
输出结果:
*
***
7、给定正整数n、a,求最大的k,使n!可以被ak整除但不能被a(k+1)整除。
n和a采用一次input()调用输入,两个数使用逗号(,)分隔,直接输出k值。
n,a=eval(input())
m=1
for i in range(1,n+1):m=m*i
for k in range(1,n):ak=a**kak1=a**(k+1)if m%ak==0 and m%ak1!=0:print(k)
8、对整数除符号为外的数字进行逆位操作。
例如 x = 123,返回321;x = -123,返回-321。
a=str(input(""))
b=a[::-1]
if a[0]!="-":print(int(b))
elif a[0]=="-":print("-",end="")print(int(b[:-1]))
输出结果:
-12346
-64321***Repl Closed***
Python之课堂作业三相关推荐
- 画课堂计算机作业答案,湘潭大学计算机系统结构课堂作业答案.pdf
课堂作业(一)单选题 1.模拟 a.用软件方法在一台现有的计算机上实现另一台计算机的 指令系统 b.指在一个厂家内生产的具有相同的系统结构,但具有不 同组成和实现的一系列不同型号的机器 2.仿真 a. ...
- HIT暑假python作业三《超级画板》
HIT暑假python作业三<超级画板> 作业上交版代码 编译版 程序运行效果**(运行时确保同目录下有文件夹img,里面有pen,eraser,plus,minus四个png图象,如果没 ...
- latex 小于_一份菜鸡的Latex课堂作业works--(ii)
开学了,每天的课堂作业接踵而来.这是一份包含插入代码块和图片的作业. 先来一波图 documentclass{article} usepackage[UTF8]{ctex} usepackage{fa ...
- 软件工程概论课堂作业3
题目:返回一个整数数组中最大子数组的和 要求: 输入一个一维整形数组,数组里有正数也有负数. 一维数组首尾相接,象个一条首尾相接带子一样. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个 ...
- python基础 实战作业 ---Excel基本读写与数据处理
代码地址如下: http://www.demodashi.com/demo/11650.html 看完本篇需要: 10min 作业练习需要: 0.5h~3h(依练习者对python熟悉程度而定) 看完 ...
- python简单实践作业_【Python】:简单爬虫作业
使用Python编写的图片爬虫作业: #coding=utf-8 import urllib import re def getPage(url): #urllib.urlopen(url[, dat ...
- python课程结课感悟_科学网—《互联网+引论与Python》课堂感想(七) - 张忆文的博文...
课程感想 文/2018级社会学 方向阳 在本学期的课程中,我受益良多,这种收获不仅只是课程的知识,更多的是关于学习的态度.下面我将从三个方面讲述对课程的感想感悟. 一.课堂模式 互联网+课程的模式是让 ...
- 吉林大学嵌入式原理课程课堂作业
1.从NN存储地址处连续存放7个字节的无符号数据,去掉其中的最大值和最小值,计算其余5个字节数值的平均值,存入MM存储地址中.用完整ARM汇编语言编写程序实现上述功能,并画出程序流程图. 2.利用S3 ...
- python小课堂28_python小课堂28
前言 嗨!大家好哇,一星期没见了,后台收到朋友的留言以为我停更了....哇哈哈哈时间永远留不住,在春节期间,拥有这么多空闲时间的你,有木有好好充电呢?让我们继续回归python小课堂之路,本章为进阶篇 ...
最新文章
- Android移动开发之【通往安卓的神奇之旅】基于回调的事件处理
- 扒一扒MathType不为人知的技巧
- 主网已经上线的币有哪些_什么是主网币圈主网上线意味着什么?
- CTS ( 19)---Android 8.1/GO GMS认证
- [转] 计算机视觉领域稍微容易中的期刊
- java系列7:构造方法
- android webview圆角,Android 实现一个通用的圆角布局
- cad在线转换低版本_别再傻瓜式操作了,工作效率上不去?这6个小技巧带你玩转CAD...
- C# Winform 运行异常 CefSharp.core.dll 找不到指定的模块
- linux系统安全检查
- MySQL外键约束详解
- workbench焊接实例_基于ANSYS Workbench平台和ANSYS经典界面的焊接仿真-工业电子-与非网...
- Hadoop3.2.0 HDFS DataNode管理员指南
- 鸿蒙适配机型小米,华为鸿蒙适配机型公布 P50首发/小米10S才是真正至尊版
- 输入两个数,进行四则运算
- 疏基修饰银铟硒量子点AgInSe2 Qds-SH|生物素修饰硫化银量子点Ag2S Qds-Biotin|近红外量子点的偶联修饰定制服务
- 建立学习型组织 - 解决了我几年的困惑
- 某30m小箱梁渠桥结构计算与施工图设计
- 1k求和c语言使用方法,(C语言递归实现)S=1k +2k+……+nK(1的K次方,2的K次方等等),N,K从键盘浏览....
- 智慧养老解决方案-智慧养老具体方案之一-新导智能