编程:设计一个函数func(*a),该函数实现打印行数为n(奇数)的菱形。
运行后若输入:5 结果输出:
*
***
*****
***
*
def func(a):
x = a//2+1
i = 1
while i<=x:
print(" "*(x-i),end="")
print("*"*(i*2-1))
i+=1
j = i-2
while j>0:
print(" "*(x-j),end="")
print("*"*(j*2-1))
j-=1
def func2(a):
x=n//2+1
for i in range(1,n+1,2)
print(('*'*i).center(n))
for i in reversed(range(1,n-1,2)):
print(('*'*i).center(n))
n = eval(input())
func(n)
【Python】center()居中填充
编程:设计一个函数func(s),该函数实现统计一行字符串中的英文字母、数字、空格和其他字符个数。
运行后若输入:
a1 &!%b2
结果输出:
(2,2,1,3)
送行后若输入:
Python3
则结果输出:
(6,1,0,0)
def func(s):
a = 0
b = 0
c = 0
d = 0
for i in s:
if i>='A' and i<='Z':
a+=1
elif i>='a' and i<='z':
a+=1
elif i>='0' and i<='9':
b+=1
elif i==' ':
c+=1
else:
d+=1
return (a,b,c,d)
def func2(s):
a = 0
b = 0
c = 0
d = 0
for i in s:
if i.isalpha():
a+=1
elif i.isnumeric():
b+=1
elif i.isspace():
c+=1
else:
d+=1
return (a,b,c,d)
s = input()
print(func(s))
print(func2(s))
输入任意个字符串,分别实现从小到大输出和从大到小输出。
运行后若输入:
1 7 2
贝结果输出:
1 2 7 & 7 2 1
运行后若输入:
5 2.8 1
贝结果输出:
1 2.8 5 & 5 2.8 1
def func(a):
s = a.split()
s.sort()
for i in s:
print(i,end=" ")
print("&",end=" ")
for i in reversed(s):
print(i,end=" ")
a = input()
func(a)
打印田字格
输入:2 结果输出:
输入:3 结果输出:
def draw(n):
a,b,c,d = '+','-','|',' '
for i in range(n):
print(a,end='')
print(b*4,end='')
print(a)
for i in range(n):
for j in range(n):
print(c,end='')
print(d*4,end='')
print(c)
for j in range(n):
print(c,end='')
print(d*4,end='')
print(c)
for i in range(n):
print(a,end='')
print(b*4,end='')
print(a)
def draw2(n):
line = 3*n+1
for i in range(1,line+1):
if i%3 == 1:
print("+----"*n,end="")
print("+")
else:
print("| "*n,end="")
print("|")
n = eval(input())
draw2(n)
编程:定义func(d, n=“f1”)函数和调用该函数的相关代码。 func (…)实现两种日期格式的输出,若n指定“f1”格式,则按“年-月-田”格式输出;若n指定“12”格式,则按“月 日,年”英文格式输出;若n没有指定格式(默认),则按f1格式输出。程序运行后首先按“年 月 日”格式输入日期,并可能输入“f1”或“12”以便指定要输出的日期格式,若没有指定要输出的日期格式,则按默认格式输出。
运行后若输入:2020 10 8 则输出结果:2020-10-08 运行后若输入:2021 2 16 f2 则输出结果:February 16,2021
from datetime import datetime
def func(d,n="f1"):
if n=="f1":
print(d.strftime("%Y-%m-%d"))
if n=="f2":
print(d.strftime("%B %d,%Y"))
ls = input().split()
d = datetime(int(ls[0]),int(ls[1]),int(ls[2]))
if len(ls)==3:
func(d)
else:
func(d,ls[3])
编程:设计一个函数func(*a),该函数实现对任意个整数求平均并返回。 运行后若输入:2 4 则结果输出:3.0 运行后若输入:1 2 3 则结果输出:2.0
def func(*a):
sum=0
for i in a:
sum+=eval(i)
return sum/len(a)
ls = input().split()
print(func(*ls))
编程:设计一个函数fuxe (m),该凶数使用递归方法实现将一个十进制整数转换为二进制字符串并返回。 运行后若输入:250 则结果输出:11111010 运行后若输入:10 则结果输出:1010
def func(n):
s = ''
if n==0:
return s
else:
s = func(n//2)
return s+str(n%2)
def func2(n):
s = bin(n)
return s[2:]
n = eval(input())
print(func(n))
|