【python笔记】入门练手的题
选择结构0~300猜数:要求掌握:1.生成随机整数2.input()用法:根据提示信息输入3.if-else用法4.elif用法2种情况:from random import randintx=randint(0,300)num=int(input('please enter a number between 0~300:'))if num==x:print("bingo!")else:print
0~300猜数:
要求掌握:
1.生成随机整数
2.input()用法:根据提示信息输入
3.if-else用法
4.elif用法
2种情况:
from random import randint
x=randint(0,300)
num=int(input('please enter a number between 0~300:'))
if num==x:
print("bingo!")
else:
print("fail!")
3种情况:
from random import randint
x=randint(0,300)
num=int(input('please enter a number between 0~300:'))
if num==x:
print("bingo!")
elif num>x:
print("too large!")
else
print("too small!")
符号函数:
要求掌握:
1.利用eval函数和input输入
2.if的嵌套
x=eval(input(please enter a number:))
if x!=0:
if x<0:
sgn=-1
else:
sgn=1
else:
sgn=0
输入多个数值,计算其和
要求掌握:
(1)函数的参数可以是一个序列
(2)用eval初始化一个元组
def sumAll(nums):
sum=0
for i in nums:
sum+=i
return sum
a=()
a=eval(input("请输入几个数,用逗号隔开"))
计算1+2+...+100的值
要求掌握:
(1)while循环使用
(2)标准格式输出的使用
s=0
i=1
while i<=100:
s+=i
i+=1
print('1+2+..+100={:d}'.format(s))
求两个正整数的最大公约数和最小公倍数
要求掌握:
(1)利用辗转相除法求最大公约数
(2)利用赋值语句 交换两个数
最大公约数:
辗转相除法:
S1:判断x除以y的余数是否为0。若r是0,则y是x,y的最大公约数
否则y->x,r->y,重复执行S1
S2:输出y
最大公倍数:
两数乘积除以最大公约数即可得到最小公倍数
x=eval(input("please enter the first number:"))
y=eval(input("please enter the second number:"))
z=x*y
if x<y:
x,y=y,x
while x%y!=0:
x=x%y
x=y
y=r
print("最大公约数=",y)
print("最小公倍数=",z//y)
利用函数实现:
要求掌握:
(1)函数定义的方法
(2)if __name__="__main__":的用法
(3)函数调用的方法
def gcd(x,y):
if x<y:
x,y=y,x
while x%y!=0:
r=x%y
x=y
y=r
return y
if __name__=="__main__":
print(gcd(15,10))
编程计算1+2!+3!+…+50!的和
item=1
sum=0
for i in range(1,51):
item*=i
sum+=item
print(sum)
利用如下公式求π
import math
i=1
item=1
s=0
sign=1
while math.fabs(item)>1e-4:
item=sign*1/(2*i-1)
s+=item
sign=-sign
i+=1
print(4*s)
求斐波拉切数列前20项
方法 一:
f1=0
f2=1
print(f1)
print(f2)
for i in range(18):
f3=f2+f1
print(f3)
f1=f2
f2=f3
方法二:
f=[0]*20
f[0],f[1]=0,1
for i in range(2,20):
f[i]=f[i-1]+f[i-2]
print(f)
递归实现n的阶乘:
要求掌握:
(1)递归函数的实现
def f(n):
if n==1:
return 1
else:
return n*f(n-1)
输出2~100之间的素数,每行显示5个
import math#3
def judge(n):
for i in range(2,int(math.sqrt(n)+1))://需要转int
if n%i==0:
return False
return True
count=0 #1
for num in range(2,101):
if judge(num):
if count==5:#1
print('\n')
count=0
print(num,end=' ')#2
count+=1
统计英语句子中单词词频
(1)字符串方法:
lower():大写转小写
split():以空格为分隔,把每个单词作为列表的一个项返回一个列表
(2)利用字典统计词频:
利用split方法把字符串分割成列表
去掉标点符号:
如果最后一个字符是标点,则把单词最后一个字符去掉(注意:字符串是不可变类型,如果想要删除子串,可以用切片+赋值的方式)
统计个数:如果单词不在(not in)字典中,则dict【单词】=1
如果单词在(in)字典中,则dict【单词】+=1
s=input("sentence")
s=s.lower()
slist=s.split()
sdict={}
for item in slist:
if item[-1] in ''',.'"!''':
item=item[:-1]
if item not in sdict:
sdict[item]=1
else:
sdict[item]+=1
print(sdict)
输出公司代码和股票价格
stockList=[('AXP','American Express Company',
'78.51'),('BA','The Boeing Company','184.76'),('CAT','Caterpillar Inc.','96.39')]
alist=[]
blist=[]
for item in stockList:
alist.append(item[0])
blist.append(item[2])
dic=dict(zip(alist,blist))
print(dic)
两个列表的新组合
pdlList = ['C++', 'Java', 'Python']
creditList = [2, 3, 4]
res=[]
for item1 in pdlList:#遍历序列
for item2 in creditList:
res.append([item1,item2])
print(res)
实现简单的登录注册功能:
account={}
def sign_up():
user_name=input("请输入用户名")
if user_name not in account.keys():
print("无此用户名")
return
else:
password=input("请输入密码")
if password!=account[user_name]:
print("密码错误")
return
else:
print("sucess log in")
return
def sign_in():
user_name=input("请输入注册的用户名:")
if user_name in account.keys():
print("该账号已经存在")
return
pass_word=input("请输入注册的密码:")
account[user_name]=pass_word
print("注册成功")
return
if __name__=="__main__":
while True:
flag=int(input("请输入登录(1)或者注册(0)"))
if flag==1:
sign_up()
continue
else:
sign_in()
continue
实现用户信息注册登记
def register(name, gender, phonenum, **otherinfo):
''' register users information '''
print('name: ', name, 'gender: ', gender, 'phone num: ', phonenum)
print('other information: ', otherinfo)
生成随机数:
生成5个5个含1—5个数字的随机数
for i in range(0,5):
str=""
for j in range(0,5):
str+=random.choice(l)
print(str)
22332
34445
14425
42412
32555
文件操作:(序列和字典的操作)
fp=open("d:\\contacts.txt")
info=fp.readlines()
name=[]
no=[]
for item in info:
if item[-1]=='\n':
item=item[:-1]#去掉最后一个字符
person=item.split(',')#以,分隔字符串,以序列的形式返回分隔后的字符串
name.append(person[0])
no.append(person[1])
dic=dict(zip(name,no))#两个序列用zip配对,并用dict转换成字典类型
print(dic)
find_name=str(input("请输入名字"))
if find_name not in dic:#判断成员 in / not in
print("Not Found")
else:
print("联系人信息",dic[find_name])
字符串移位:
falg:1表示左移,2表示右移
n:移动位数
要求掌握:
1.利用切片操作实现移位
2.输入默认是字符串
def movestr(str,flag,n):
if n>len(str):
return -1
if flag==1:
return str[n:]+str[:n]
else:
return str[-n:]+str[:-n]
if __name__=="__main__":
str=input("请输入一个字符串")
flag=eval(input("请输入一个数1,2"))
n=eval(input("请输入移动位数n"))
print(movestr(str,flag,n))
将文件name.txt中的字符串加上1,2,3...,后写到new_name.txt中
fp=open("name.txt","r")
info=fp.readlines()
new_info=[]
i=1
for name in info:
name=str(i)+name[:]
new_info.append(name)
i+=1
fp.close()
fp=open("new_name","w")
fp.writelines(new_info)
fp.close()

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)