题一:将字符串倒序输出
思路:可研究join用法
s1='hello world this is a test'
s2=s1.split()
result=''
#方法一:
for i in range(1,len(s2)+1):
result+=s2[-i]
result+=' '
print(result)
#方法二:
result.join(s2[-1::-1])
print(result)
#运行结果:
test a is this world hello
test a is this world hello
题二:将字符串单词大写
思路:可研究capitalize(第一个字母大写)函数用法,列表解析和split的用法
message = 'this is a test'
s=message.split()
result=''
#方法一:
for i in s:
result+=i[0].upper()
result+=i[1:]
result+=' '
print(result)
#方法二:
message = 'this is a test'
print(' '.join([i.capitalize() for i in message.split()]))
#运行结果:
This Is A Test
This Is A Test
题三:检查排序
给你一个整数组成的列表L,按照下列条件输出:
若L是升序排列的,则输出”UP”;
若L是降序排列的,则输出”DOWN”;
若L无序,则输出”WRONG”。
思路:前一个数和后一个数比较(通过for循环依次比较)如果前一个数大于后一个,排除升序。同理,前一个数小于后一个,排除降序。如果都存在,为无序
def if_order(L):
small = 1
big = 1
for i in range(1,len(L)):
if L[i-1] > L[i]:
big = 0
elif L[i-1] < L[i]:
small = 0
if big == 1:
return "UP"
elif small == 1:
return "DOWN"
else:
return "WRONG"
L=[1,2,3,5,4,3]
print(if_order(L))
#运行结果:可自行修改L进行验证
题四:计算列表内元素乘积末尾0的个数
思路:先将各元素相乘,然后倒序计算0的个数
L=[2,10,30,50]
temp=1
for i in range(0,len(L)):
temp*=L[i]
number=0
for j in str(temp)[::-1]:
if j=='0':
number+=1
else:break
print(number)
#运行结果:4
题五:进制转换
dec = int(input("输入数字:"))
print("十进制数为:", dec)
print("转换为二进制为:", bin(dec))
print("转换为八进制为:", oct(dec))
print("转换为十六进制为:", hex(dec))
#运行结果:
输入数字:7
十进制数为: 7
转换为二进制为: 0b111
转换为八进制为: 0o7
转换为十六进制为: 0x7
题六:源码
*思路:*this模块使用
import this
x='python 之禅'
print(this.s)
#运行结果:自行测试
题目虽然看着简单,但我还是希望大家可以动手写一下,会有收获的。