我上大一时接触到程序设计基础这门课,这门课有时会有实验,我便常常摸鱼,利用CSDN来做,
虽然有时搜不到,但每次搜到时我想:爽!!!
于是我也开始写,写下我们这个时期的答案与青春
【程序示例】
num = input("请输入一个正整数:") # 输入一个正整数的字符串
if int(num)<=0:
print("输入的数不是正整数,程序结束!")
else:
print(f'逆序数字是:{int(num[::-1])}') #对字符串逆序,再转整型,int()函数可去除整数前面的前导0
num = input("请输入一个正整数:") # 输入一个正整数的字符串
if int(num)<=0:
print("输入的数不是正整数,程序结束!")
else:
print(f"逆序数字是:{(num[::-1]).lstrip('0')}") #lstrip('0')去除字符串左侧的字符'0'
【提示】程序开始可以定义一个循环,判断输入的正整数是否在(1<=n<=54)内,如果不在,连续输入,直到符合条件为止。
【程序代码】
def isHuiWen(num):
if str(num)==str(num)[::-1]:
return True
else:
return False
def getSum(num):
s=0
for x in str(num):
s=s+int(x)
return s
n=int(input("请输入一个正整数:"))
while n<0 or n>54:
n=int(input("输入有误,请重新输入!"))
flag=0
for num in range(10**4,10**6):
if isHuiWen(num) and n==getSum(num):
flag=1
print(num,end=" ")
if flag==0:
print("无满足条件的数!")
【提示】四种字符:
# string.digits 可返回'0123456789'
# string.ascii_lowercase 可返回'abcdefghijklmnopqrstuvwxyz'
# string.ascii_uppercase 可返回'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
# string.punctuation 可返回'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
【程序示例】
【程序代码】
import string
pwd = input("请输入密码:")# 输入一个正整数的字符串
#记录密码种类变量
digit=lower=upper=punc=0
for c in pwd:#判断密码种类
if c in string.digits:
digit=1
elif c in string.ascii_lowercase:
lower=1
elif c in string.ascii_uppercase:
upper=1
elif c in string.punctuation:
punc=1
kinds=digit+lower+upper+punc #密码种类
if len(pwd)<8:
print("密码长度小于8:弱密码!")
elif kinds<2:
print("密码长度大于8,字符种类少于2:弱密码!")
elif kinds==2:
print("密码长度大于8,字符种类为2:中等强度密码!")
elif kinds==3:
print("密码长度大于8,字符种类为3:强密码!")
elif kinds==4:
print("密码长度大于8,字符种类为4:极强密码!")
【提示】方法一:如果item表示当前项且为数值型,则下一项为item*10+a。
方法二:利用字符串的乘法特性,如”2”*2的值为”22”,”2”*3的值为”222”。如果a=2,则第二项为int(str(a)*2),第三项为int(str(a)*3),第四项为int(str(a)*4),第n项为int(str(a)*n)。
【程序代码】
方法一:
a,n=eval(input("请输入a,n的值"))
s=0
for i in range(1,n+1):
s=s+int(str(a)*i)
print("值为:",s)
方法二
a,n=eval(input(“请输入a,n的值”)) #不加()也认为是元组
s=0
item=0
for i in range(1,n+1):
item=item*10+a
s=s+item
print("值为:",s)