python编程100例题(python编程题简单)
python中如何编程求1到100之间的素数
1、新建python文件,testprimenum.py;
2、编写python代码,求1到100之间的素数;
list1?=?[]
i?=?2
for?i?in?range(2,101):
j?=?2
for?j?in?range?(2,i):
if?i%j?==?0:
break
else:
list1.append(i)
print(list1)
3、窗口中右击,选择‘在终端中运行Python文件’;
4、查看执行结果,1-100之间的素数为:
[2,?3,?5,?7,?11,?13,?17,?19,?23,?29,?31,?37,?41,?43,?47,?53,?59,?61,?67,?71,?73,?79,?83,?89,?97]
用python编写下列程序,选4个做即可,能做一个也好,非常感谢!!!!
4.N以内的完全数
import time
def perfect2(N):
"""完全数都是以6或8结尾,如果以8结尾,那么就肯定是以28结尾."""
#N=10000,0.016secs,N=100000,0.313secs; N=1000000,9.922secs;N=1000万,324.656secs
start = time.time()
perfectNumber=[]
for i in range(6, N, 10):
sum1 = 1
for j in range(2, int(i**0.5)+1):
if i%j == 0:
sum1 += j
sum1 = sum1 + i//j
if sum1 == i:
perfectNumber.append(i)
for i in range(28, N, 100):
sum1 = 1
for j in range(2, int(i**0.5)+1):
if i%j == 0:
sum1 += j
sum1 = sum1 + i//j
if sum1 == i:
perfectNumber.append(i)
print("run time:", str(time.time()-start), "seconds.")
return perfectNumber
python编程:输入一个自然数n,如果n为奇数,输出表达式1+1/3+…+1/n的值
def summ(n):
if n%2:
m=1
else:
m=2
return round(sum([1/x for x in range(m,n+1,2)]),2)
print(summ(5))
Python挑战100题(14~20)
题目:给你个小写英文字符串a和一个非负数b(0=b26), 将a中的每个小写字符替换成字母表中比它大b的字母。这里将字母表的z和a相连,如果超过了z就回到了a。
例如a="cagy", b=3,
则输出 :fdjb
提示: ord('a') = 97, ord('b') = 98, chr(97) = a
参考答案:
题目:给你一个字符串a和一个正整数n,判断a中是否存在长度为n的回文子串。如果存在,则输出YES,否则输出NO。
回文串的定义: 记串str逆序之后的字符串是str1,若str=str1,则称str是回文串,如"abcba".
参考答案:
题目:给你两个时间st和et(00:00:00=st = et=23:59:59), 请你给出这两个时间间隔的秒数。
如:st="00:00:00", et="00:00:10", 则输出10.
参考答案:
方法一:切片
方法二:time模块
题目:给你一个时间t(t是一个字典,共有六个字符串key(year,month,day,hour,minute,second),值为每个值为数字组成的字符串,
如t={'year':'2013','month':'9','day':'30','hour':'16','minute':'45','second':'2'}
请将其按照以下格式输出, 格式:XXXX-XX-XX XX:XX:XX。如上例应该输出: 2013-09-30 16:45:02。
参考答案:
方法一:利用datetime模块
方法二:一行
题目:给你一个整数组成的列表L,按照下列条件输出:
若L是升序排列的,则输出"UP";
若L是降序排列的,则输出"DOWN";
若L无序,则输出"WRONG"。
参考答案:
题目:一个环形的公路上有n个加油站,编号为0,1,2,...n-1,
每个加油站加油都有一个上限,保存在列表limit中,即limit[i]为第i个加油站加油的上限,
而从第i个加油站开车开到第(i+1)%n个加油站需要cost[i]升油,cost为一个列表。
现在有一辆开始时没有油的车,要从一个加油站出发绕这个公路跑一圈回到起点。
给你整数n,列表limit和列表cost,你来判断能否完成任务。
如果能够完成任务,输出起始的加油站编号,如果有多个,输出编号最小的。
如果不能完成任务,输出-1。
参考答案:
构造新的limit和cost并遍历,来源
题目:给你一个整数列表L,判断L中是否存在相同的数字,
若存在,输出YES,否则输出NO。
参考答案:
求大神帮忙做道Python题。
menu = {'蒜泥黄瓜':6,'花生米':6,'青椒炒肉':28,'西红柿鸡蛋':18,'红烧肉':38,'烤鱼':30,'手撕鸡':45,'海带排骨':35,'白菜':12,'三鲜汤':15}
def order(*dish):
s = 0
for i in dish:
s += menu[i]
return s
m = order('蒜泥黄瓜','花生米','青椒炒肉','西红柿鸡蛋')
print(f'结账: {m}元')