以下都为Python
21.不借助任何变量交换两个变量的值
只能交换两个int型
str0=input("请输入,以逗号隔开:")
str1,str2=str0.split(",")
a=int(str1)
b=int(str2)
a=b-a
b=b-a
a=b+a
print(a,b)
#10,12
#12 10
22.猜数游戏
自己定义一个范围,自动生成在此范围内的一个数,猜这个数
import random
i=int(input("请输入下界:"))
j=int(input("请输入上界:"))
x=random.randrange(i,j)
print("随机数生成好了!")
num=int(input("请输入你猜的数:"))
count=0
while num!=x:
count+=1
if num<i or num>j:
print("你的输入有误!")
elif num>x:
print("大了哦!")
else:
print("小了哦!")
num=int(input("请再次输入:"))
if num==x:
print("恭喜你答对啦!")
print("你共猜了",str(count),"次哦!")
#请输入下界:0
#请输入上界:100
#随机数生成好了!
#请输入你猜的数:102
#你的输入有误!
#请再次输入:50
#小了哦!
#请再次输入:60
#小了哦!
#请再次输入:70
#大了哦!
#请再次输入:69
#大了哦!
#请再次输入:68
#恭喜你答对啦!
#你共猜了 5 次哦!
23.周期串问题
如果一个字符串可以由某个长度为k的字符串重复多次得到,我们说该串以k为周期。例如,abcabcabcabc以3为周期(注意,它也可以6和12为周期,结果取最小周期3)。字符串的长度小于等于100,由调用者保证。
str0=input("请输入:")
m=len(str0)
for i in range(m-1) :
for j in range(m-1) :
for k in range(100) :
if str0==str0[i:j]*k :
n=j-i
break
print(n)
#为了看清循环的子序列,我加了空格,6是'abcde '的长度
#请输入:abcde abcde abcde abcde
#6
#Press any key to continue . . .
24.按要求分解字符,输入字符串,选择输出格式,如果大于字符串的长度,就补0
while 1:
str0=input("请输入字符串:")
str1=input("请输入输出字符串的位数:")
m=len(str0)
n=int(str1)
if n<m :
str2=str0[:n]
print(str2)
elif n==m:
print(str0)
else :
str3=str0+'0'*(n-m)
print(str3)
#请输入字符串:abcdef
#请输入输出字符串的位数:10
#abcdef0000
#请输入字符串:abcdef
#请输入输出字符串的位数:4
#abcd
#请输入字符串:
25.密码转换,输入明文,解出真正的密码
密码转换规则为:
- 输入为小写字母:按照手机九键输入法,1-1,abc-2,def-3,ghi-4,jkl-5,mno-6,pqrs-7,tuv-8,wxyz-9,0-0,
- 输入为大写字母:转换为相应的小写字母的后面一位小写字母,比如X-y,A-b,Z-a
- 输入为数字:原样输出
str0=input("请输入密码:")
str1=""
for i in str0 :
if i>='0' and i<='9':
str1=str1+i
if i=='a' or i=='b' or i=='c':
str1=str1+'2'
if i=='d' or i=='e' or i=='f':
str1=str1+'3'
if i=='g' or i=='h' or i=='i':
str1=str1+'4'
if i=='j' or i=='k' or i=='l':
str1=str1+'5'
if i=='m' or i=='n' or i=='o':
str1=str1+'6'
if i=='p' or i=='q' or i=='r' or i=='s':
str1=str1+'7'
if i=='t' or i=='u' or i=='v':
str1=str1+'8'
if i=='w' or i=='x' or i=='y' or i=='z':
str1=str1+'9'
if i>='A' and i<='Z':
i=chr(ord(i.lower())+1)
str1=str1+i
print("解码后的密码是:",str1)
#请输入密码:YUANzhi1987
#解码后的密码是: zvbo9441987
#Press any key to continue . . .