小严漂流瓶 2025-05-05(python基本语法)

  1. 提示用户从键盘上输入一个有效的年份,在屏幕上打印这个年份是否为闰年。
    注:凡符合下面两个条件之一的年份是闰年。
    1)能被4整除但不能被100整除。
    2)能被400整除。
a=int(input("输入一个需要判断的年份"))
if a%4==0 and a%100!=0 or a%400==0:
    print(f"{a}是闰年")
else:
    print(f"{a}不是闰年")

 2、从键盘输入三个数,输出其最大者。

a=int(input("输入第一个数"))
b=int(input("输入第二个数"))
c=int(input("输入第三个数"))
if a>b:
    max1=a
else:
    max1=b
if max1<c:
    max1=c
print(max1)

 笔记:

这里三个数是按三行输入,如果一行读入三个数的话,就用a,b,c = eval(input())   ##输入:1,2,3

3、编程解决猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想吃时,只剩下一个桃子了。求第一天共摘多少个桃子。

a=1
for i in range(1,10):
    a=a+1
    a=a*2
print(a)

tip:

因为a=1就是第10天了,所以循环只要9次,而不是10次

 4、输入一串西文字符,分别统计出其中英文大写字母、英文小写字母、空格、数字和其他字符的个数。

s=input("输入字符串")
upper=0
lower=0
space=0
count=0
other=0
for c in s: #字符串切片
    if c.isupper(): #大写
        upper=upper+1
    elif c.islower(): #小写
        lower=lower+1
    elif c.isspace(): #空格
        space=space+1
    elif c.isdigit(): #数字
        count=count+1
    else:
        other=other+1
print("大写字母个数:",upper)
print("小写字母个数:",lower)
print("空格个数:",space)
print("数字个数:",count)
print("其他字符个数:",other)

 笔记:

1. 大小写转换
  • s.upper() #全大写
    "Hello".upper() → "HELLO"

  • s.lower() #全小写
    "WORLD".lower() → "world"

  • s.title() # 每个单词首字母大写
    "hello world".title() → "Hello World"

2. 查找与替换
  • s.find(substr) #返回子串首次出现的索引,未找到返回 -1
    "apple".find("p") → 1

  • s.replace(old, new) #替换子串
    "hello".replace("l", "x") → "hexxo"

  • s.count(substr) #统计子串出现次数
    "banana".count("a") → 3

3. 分割与拼接
  • s.split(sep) #按分隔符分割为列表(默认按空格)
    "a,b,c".split(",") → ['a', 'b', 'c']

  • s.join(iterable) #将可迭代对象用字符串拼接
    ",".join(["a", "b", "c"]) → "a,b,c"

4. 去空格与对齐
  • s.strip() #去除两端空白符(含换行符)
    " text \n".strip() → "text"

  • s.ljust(width) # 左对齐至指定宽度,填充空格
    "hi".ljust(5) → "hi "

  • s.center(width) # 居中对齐
    "hi".center(5) → " hi "

5.判断类 

  • s.isupper() #判断大写

  • s.islower() # 判断小写

  • s.isspace() # 判断空格

  • s.isdigit() # 判断数字

6.切片处理 

5、从键盘输入一个2-1000之间的整数n,对其进行质因数分解,输出分解后的式子。
例如:输入60,输出60=2 * 2 * 3 * 5

n=int(input("输入一个整数:"))
j=1
def f(a):
    for i in range(2,a):
        if a % i == 0:
            return 0
    return 1

print(n,"=",end=" ")
while f(n)==0:
    for k in range(2,n):
        if f(k)==1 and n%k==0:
            print(k,"*",end=" ")
            n=n//k
            break
print(n)

 tip:

//——整除

/——除法

 6、利用random标准库,编写程序随机生成206位密码,

要求密码只能由字母A-Z和数字1-9组成

import random
s="ABCDEFGHIGKLMNOPQRSTUVWXYZ123456789"
for i in range(0,20):
    for j in range(0,6):
        print(random.choice(s),end="")
    print()

笔记:

  • random.randint(a,b)  #生成 [a,b] 范围内的随机整数(包括两端)。
  • random.uniform(a,b)  #生成 [a,b] 范围内的随机浮点数。
  • random.choice(s) #从s非空序列中随机选择一个元素。
  • random.sample(s,k) #从s序列中随机选择 k个不重复元素。

7、编写函数level,要求可以根据输入的成绩判断其等级。
等级设定:90-100为优秀 80-89为良好 70-79为中等 60-69为及格 小于60为不及格

def level(n):
    if n>=90 and n<=100:
        print("优秀")
    if n>=80 and n<=89:
        print("良好")
    if n>=70 and n<=79:
        print("中等")
    if n>=60 and n<=69:
        print("及格")
    if n<60:
        print("不及格")

a=int(input("输入成绩:"))
level(a)

8、编写函数sumall,要求可以将接收任意多个整数并输出所有整数之和。例如输入2,4,6 则输出12,输入3,5,7,9则输出24

提示:

nums = tuple(map(int, input(“please input numbers:”).split(‘,’))) #将输入的多个数字转换为元组形式。

def sumall(a):
    return sum(a)

sums = tuple(map(int,input("please input numbers:").split(','))) #将输入的多个数字转换为元组形式。
k=sumall(sums)
print(k)

 笔记:

1.sum(a, start=0)
  • a:可迭代对象(如列表、元组、集合等),元素必须支持加法操作。

  • start:可选,初始值(默认为 0),最终结果会将所有元素累加到该初始值上。 

  • 作用对象是整个列表等

 关于元组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值