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()

Logo

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

更多推荐