- 提示用户从键盘上输入一个有效的年份,在屏幕上打印这个年份是否为闰年。
注:凡符合下面两个条件之一的年份是闰年。
(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标准库,编写程序随机生成20个6位密码,
要求密码只能由字母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
),最终结果会将所有元素累加到该初始值上。 -
作用对象是整个列表等
关于元组