# 题目:海滩上有一堆桃子,五只猴子来分。
# 第一只猴子把这堆桃子平均分为五份,多了一个,
# 这只 猴子把多的一个扔入海中,拿走了一份。
# 第二只猴子把剩下的桃子又平均分成五份,又多了 一个,
# 它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,
# 问海滩上原来最少有多少个桃子?
i=0
j=1
while i<5:
x=4*j
for i in range(0,5):
i+=1
print(i)
if x%4!=0:
break
x=(x/4)*5+1
j+=1
print(f"{x}\n")
# 题目:809*??=800*??+9*??
# 其中??代表的两位数, 809*??为四位数,8*??的结果为两位数,??=12
# 9*??的结果为3位数。求??代表的两位数,及809*??后的结果。
def output(b, i):
print(f"\n{b} = 800 * {i} + 9 * {i}\n");
a = 809;
i=10
while i<100:
i+=1
b = i * a;
if b >= 1000 and b <= 10000 and 8 * i < 100 and 9 * i >= 100:
output(b, i);
#8进制转换10进制
#输入8进制,输出10进制
#方法一: n=eval("0o"+str(int(input("8进制输入:"))))
a=input("8进制输入:")
#方法二:下图参数改为2则为,2进制转10进制
n=int(a,8)
print(n)
#计算出0-7组成的奇数的组合个数
num=1
for i in range(0,8):
for j in range(0,8):
if (i*10+j)%2!=0:
print(f"这是第{num}次,奇数是",i*10+j)
num+=1
#一个偶数总能表现成两个素数之和
#2a=b+c
def isOshu(n):
if n<=1:
return 0
i=2
while i*i<=n:
if n % i == 0:
return 0
i+=1
return 1
doubleNum=int(input("请输入一个偶数:"))
for i in range(1,doubleNum):
ShuNumTwo = doubleNum-i
isOshu(i) == int(isOshu(i))
isOshu(ShuNumTwo) == int(isOshu(ShuNumTwo))
if isOshu(i) == 1 and isOshu(ShuNumTwo) == 1:
print("证明成功")
print(f"{doubleNum}={ShuNumTwo}+{i},{ShuNumTwo}是素数,{i}是素数")
else:
# print("证明失败")
continue
#输入一个素数,判断能被几个9整除
n=int(input("请输入一个素数: "))
def isPrime(n):
if n<=1:
print("无效输入")
return False
i=2
while i*i<=n:
if n % i ==0:
print("不是素数")
return False
i+=1
print("是素数")
return True
isPrime(n)
if True:
print(n//9)
#链接两个字符串
a="hello"
b="world"
c=2
while (c>=1):
print(a+b)
c=c-1
# 题目:回答结果(结构体变量传递)。
#输出7个随机数(范围1-50),然后打印随机数个*
import random
numlist=[]
numOne=random.randint(1,50)
numlist.append(numOne)
numTwo=random.randint(1,50)
numlist.append(numTwo)
numThree=random.randint(1,50)
numlist.append(numThree)
numFour = random.randint(1,50)
numlist.append(numFour)
numFive=random.randint(1,50)
numlist.append(numFive)
numSix=random.randint(1,50)
numlist.append(numSix)
numSeven=random.randint(1,50)
numlist.append(numSeven)
i=0
while i < len(numlist):
print("*"*int(numlist[i]))
i+=1
#电话加密
#加密规则:
# 1、先加上5
# 2、和除以10取余数
# 3、第一位和第四位交换,第二位和第三位交换
daiJiaMi= input("输入需要加密的内容(四位数字):")
ll=[]
llJia=[]
ll.extend(daiJiaMi)
for i in ll:
i = int(i)
i += 5
i %= 10
i = str(i)
llJia.extend(i)
llJia[0],llJia[1],llJia[2],llJia[3]=llJia[3],llJia[2],llJia[1],llJia[0]
print("你输入的是",daiJiaMi,end="")
print(",加密后是",end="")
print(llJia)
import datetime
import sys
import time
import math
NewYear = datetime.datetime(2023, 1, 22, 0, 0, 0) # 新的一年的日期
i=1
while i<=3:
i+=1
NowDay = datetime.datetime.now() # 获取当前的日期
day = (NewYear - NowDay).days # 新年日期减去当前日期
second = (NewYear - NowDay).seconds #得到秒数
# print(second)
#秒计算:second直接取余数,分钟计算:second进位到分钟后取余数%
sec = second % 60
minute = second / 60 % 60
hour = second / 60 / 60
if hour > 24:
hour = hour - 24
hour = math.floor(hour) # 去掉小数点,向下取整
minute = math.floor(minute) # 去掉小数点,向下取整
sys.stdout.write("离今年春节还有" + str(day) + "天" + str(hour) + "小时" + str(minute) + "分钟" + str(sec) + "秒" + '\r')
sys.stdout.flush()
time.sleep(1)
print("离今年春节还有" + str(day) + "天" + str(hour) + "小时" + str(minute) + "分钟" + str(sec) + "秒" + '\r')
import datetime
import time
i = datetime.datetime.now()
print(i)
print(f"现在是{i.year}年{i.month}月{i.day}日{i.hour}时{i.minute}分{i.second}秒")
#时间函数:计算在0-500中取到小于2的时间和次数
import random
import time
start= time.time()
n = 1
while True:
a = random.randint(0,500)
if a <= 2:
print(a)
break
else:
print(a)
n=n+1
end=time.time()
print(f"一共{n}次循环")
print(f"总时长:{end - start}秒")
#s时间函数
#做一个循环记录时间
import sys
import random
import time
import datetime
start = time.time()
print(start)
i = 1
output = open("data.txt","w",encoding="utf-8")
xueShengQuan=["学号,姓名,A科成绩,B科成绩,C科成绩,平均分\n"]
while i <= 3:
for row in xueShengQuan:
#rowtxt = "{},{},{},{},{},{}".format(row[0],row[1],row[2],row[3],row[4],row[5])
output.write(row)
output.write("\n")
i += 1
output.close()
end = time.time()
print(end)
print("总时长:",end - start,end="s\n")
# 题目:猜谜游戏。
import random
numB = random.randint(0,100)
# print(f"电脑的数字是{numB}")
numBb = int(numB)
caiCount = []
while True:
numA = eval(input("请输入你猜的数字:"))
print(f"你输入的是{numA}",end=",")
numAa = int(numA)
caiCount.append(numAa)
count= len(caiCount)
if numAa > numBb:
print(f"你往小了猜,这是第{count}次")
elif numBb == numAa:
print(f"正确,这是第{count}次")
break
elif numAa < numBb:
print(f"你往大了猜,这是第{count}次")
#结构体输出
a=1.26
b="C经典100:https://www.runoob.com/cprogramming/c-exercise-example97.html"
#%0.6f格式化输出6位小数,%s格式化输出字符串
print("%0.6f" % a)
print("%s" % b)
#计算出母字符串中子字符串的个数
# mu,zi=eval(input("输入母字符串,子字符串(我可以计算出子字符串的个数):"))
# mu = map(input("输入母字符串,子字符串(我可以计算出子字符串的个数):").split(","))
inputmuzi=list(map(str,input("输入母字符串,子字符串(我可以计算出子字符串的个数): ").split(",")))
mu = inputmuzi[0]
zi = inputmuzi[1]
num=0
ll=[]
ll.extend(mu)
for i in ll:
if i == zi:
num+=1
print(f"你输入的母字符串是:{mu},\n子字符串是{zi},\n其中子字符串出现的次数为{num}")
# 题目:从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个#为止。
# 程序分析:无。
a = input("请输入:")
ll =[]
ll.extend(a)
print(ll)
output = open("data.txt","w",encoding="utf-8")
for i in ll:
if i == "#":
print("\t此处有#跳过\n")
output.write("\t此处有#跳过\n")
continue
output.write(i)
output.close
# 题目:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件"test"中保存。 输入的字符串以!结束。
# 程序分析:无。
# 程序源代码:
shuiJi = input("输入字符串,我可以把小写变成大写字母:")
listStr =[]
ll=[]
listStr.extend(shuiJi)
for i in listStr:
if i == "a" or "b" or "c" or "d" or "e" or "f" or "g" or "h" or "i" or "l" or "m" or "n" or "o" or "p" or "q" or "r" or "s" or "t" or "x" or "y" or "z" or "w" or "u" or "v":
#upper大小写转换
ll.append(i.upper())
else:
ll.append(i)
print(ll)
#输出到当前路径下的text
outlook = open("test.txt","w",encoding="utf-8")
for raw in ll:
outlook.write(raw)
#不加空格字符
outlook.write("")
outlook.close
# ; 题目:有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中。
# ; 程序分析:你需要先创建 A.txt 与 B.txt。
# ; A.txt文件内容:
outputA = open("A.txt","r",encoding="utf-8")
ReadA = outputA.read()
outputA.close
outputB = open("B.txt","r",encoding="utf-8")
ReadB = outputB.read()
outputB.close
listc = []
listc.extend(ReadA)
listc.extend(ReadB)
x = len(listc)
#重新按小到大排序文件内容
for m in range(x):
for n in range(x-m-1):
if listc[n+1]<listc[n]:
listc[n],listc[n+1] = listc[n+1],listc[n]
print(listc)
#新建一个txt记录,设定5个字符转行输入
outputC = open("c.txt","w",encoding="utf-8")
count=0
for row in listc:
outputC.write(row)
count+=1
if count>=5:
outputC.write("\n")
count=0
outputC.close
# # 题目:有五个学生,每个学生有3门课的成绩,
# 从键盘输入以上数据(包括学生号,姓名,三门课成绩),
# 计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件"stud"中。
# # 程序分析:无。
xueShengQuan = []
i = 1
while i <= 5:
xueShengXinxiDan=list(map(str,input("学号,姓名,A科成绩,B科成绩,C科成绩: ").split(",")))
AkeNum = int(xueShengXinxiDan[2])
BkeNum = int(xueShengXinxiDan[3])
CkeNum = int(xueShengXinxiDan[4])
aveNum = (AkeNum + BkeNum + CkeNum)/3
xueShengXinxiDan.append(aveNum)
xueShengQuan.append(xueShengXinxiDan)
print(f"平均成绩为{aveNum}")
print(f"全部人员信息{xueShengQuan}")
i += 1
# #输出到excel
# workbook = open("记录学生信息.xls","w",encoding="utf-8")
# 输出到txt
workbook = open("记录学生信息.txt","w",encoding="utf-8")
workbook.write("学号,姓名,A科成绩,B科成绩,C科成绩,平均分\n")
for row in xueShengQuan:
rowtxt = "{},{},{},{},{},{}".format(row[0],row[1],row[2],row[3],row[4],row[5])
workbook.write(rowtxt)
workbook.write("\n")
workbook.close()
完成!