Python 练习题 -- day 1

1、求从1到100的数字中所有能被3整除的数字的有哪些

for i in range(1,101):
    if i % 15 == 0:
        print(i)

'''
15
30
45
60
75
90
'''

2、输入一个字符串返回满足以下条件的字符串

  • 如果字符串长度大等于3,添加 'ing' 到字符串的末尾
  • 如果字符串是以 'ing' 结尾的,就在末尾添加 'ly',如果字符串长度小于3,返回原字符串
s = input()

if len(s)>3:
    if s.endswith("ing"):
        s += "ly"
    else:
        s += "ing"
else:
    pass

print(s)

'''
sding
sdingly
'''

3、判断是否为回文

提示:回文:62426是回文数字

s = input()
if s == s[::-1]:
    print("True")
else:
    print("False")

'''
abcba
True
'''

4、输入一个字符串,返回满足以下条件字符串

  • 找到字符串中的子串 'not' 和 'bad’
  • 如果 'bad' 出现在 'not' 后面,就把 'not' ... 'bad' 之间包含的所有字符串替换成 'good'
a = 'Study is not only to learn, actually i think this is a bad way. '
if a.find("bad") > a.find("not"):
    b = a[0:a.find("not")+3] + " good " + a[a.find("bad"):]
print(b)
'''
Study is not good bad way. 
'''

5、输入一个字符串,把字符串拆分成两个等分

  • 如果字符串长度是偶数,前一半和后一半的长度是相同的

  • 如果字符串长度是奇数,则多出的一个字符加到前一半,如:'abcde',前一半是'abc',后一半是'de'

s = input()
idx = len(s)//2
print(int(a))
if len(s)/2 == 0:
    c = s[0:idx]
    d = s[idx:]
else:
    c = s[0:idx+1]
    d = s[idx+1:]
print(c)
print(d)

'''
abcde
2
abc
de
'''

6、输入一个字符串返回满足以下条件的字符串

  • 找出与字符串的第一个字母相同的字母,把它们替换成 '*',除了第一个字母本身以外
  • 例如: 输入'babble', 返回 'ba**le'
s = input()
first = s[0]
a = first + s[1:].replace(first,"*")
print(a)

'''
iliviwhdkoi
il*v*whdko*
'''

7、 输入一个字符串 返回满足以下条件的字符串

  • 由字符串的最前面两个字母和最后两个字母组成的字符串。
  • 例如: 'spring' 返回 'spng', 'is' 返回 'is’
  • 当输入的字符串长度小于2时,返回空字符串
s = input()
if len(s) > 2:
    a = s[0:2] + s[-2:]
elif len(s) == 2:
    a = s
else:
    a = ""
print(a)

'''
jik
jiik
'''

8、 输入字符串 a 和 b,返回添加以下条件的字符串

  • 交换两个字符串的最前面的两个字母
  • 使用空格把两个字符串分隔后合并成一个字符串
  • 字符串 a 和 b 的长度都大等于 2
a = input()
b = input()
if len(a)>2 and len(b)>2:
    c = b[0:2] + a[2:]
    d = a[0:2] + b[2:]
    e = a + " " + b
else:
    pass
print(c)
print(d)
print(e)
'''
qqwwgajkd
fbjsfndd
fbwwgajkd
qqjsfndd
qqwwgajkd fbjsfndd
'''

9、落球计算

  • 一球从 100 米高度自由落下,假设每次落地后反跳回原高度的一半;再落下,再弹起。请问第 6 次落地后会弹起多少米?
  • 使用 for 与 while 循环完成
s = 100
i = 1
while True:
    s /= 2
    i += 1
    if i > 6:
        break
print(s)

for i in range(1,7):
    s /= 2
    if i <= 6:
        continue
print(s)
'''
1.5625
'''

10、求两个数字之间的素数

素数:只能被1及自己整除的数,如3,7,13,23等

a = input()
b = input()
for i in range(int(a), int(b)):
    for j in range(2, i+1):
        if i % j == 0 and j < i:
            print(i,"非素数")
            break
        elif i == j:
            print(i, "素数")
            
'''
1
34
2 素数
3 素数
5 素数
7 素数
11 素数
13 素数
17 素数
19 素数
23 素数
29 素数
31 素数
'''

你可能感兴趣的:(Python 练习题 -- day 1)