首页 > 其他 > 详细

直播1-含7的数

时间:2021-01-07 18:54:19      阅读:35      评论:0      收藏:0      [点我收藏+]
# 练习题1 将字符串反转(使用至少两种方法)
a = dgwqfa
print(a[::-1])  # 转成列表reverse再转回去不行
# 其他思路:转成列表倒序遍历
n = len(list(a)) - 1
while n >= 0:
    print(list(a)[n], end=‘‘)
    n -= 1

# 练习题2 一个列表中记录了某个手机号的全部数字, 另一个列表中则记录了手机号的下标, 还原这个手机号码。
list1 = [8, 3, 0, 9, 1, 4, 2, 6]
list2 = [4, 1, 6, 1, 7, 3, 5, 2, 6, 0, 1]
for i in list2:
    print(list1[i])

# 练习题3 要求从键盘输入一段字符串,校验格式是否符合标识符命名规则,如果不符合,打印出不符合的原因。
s = input("请输入字符串:")
if s[0].isdigit():
    print("数字不能开头")
else:
    for i in s:
        if i.upper() not in "ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789_":
            print("只能是数字字幕下划线,不能其他符号")
            break
    else:
        print("校验成功")
# 只要是语言isalpha都能通过,所以不好

# 练习题1:n的阶乘。同for
num = int(input("请输入数字:"))
res = 1
i = 1
while i <= num:
    res *= i
    i += 1
print("%d的阶乘是:%d" % (num, res))

# 练习题2:打印出1-100之间除了含7和7的倍数之外的所有数字。
i = 0
while i < 100:
    i += 1
    if i % 7 == 0 or i % 10 == 7 or i // 10 == 7:
        continue
    else:
        print(i)

# 练习题3:找出0到1000内的三个数a、b、c,其中a+b+c=1000且 a的平方+b的平方=c的平方。
# 不要用,费很长时间
for a in range(1001):
    for b in range(1001):
        for c in range(1001):
            if (a + b + c == 1000) and (a ** 2 + b ** 2 == c ** 2):
                print(a, b, c)

# 优化1
for a in range(1001):
    for b in range(1001):
        if a ** 2 + b ** 2 == (1000 - a - b) ** 2:
            print(a, b, 1000 - a - b)

# 优化2
for a in range(501):
    for b in range(501):
        if a ** 2 + b ** 2 == (1000 - a - b) ** 2:
            print(a, b, 1000 - a - b)

# 优化3 0.25s
for a in range(501):
    for b in range(501):
        if a + b + (a ** 2 + b ** 2) ** (1 / 2) == 1000:
            print(a, b, 1000 - a - b)

# 优化5 0.07s
for a in range(501):
    for b in range(501):
        if b == 1000 * (500 - a) / (1000 - a):
            print(a, b, 1000 - a - b)

 

直播1-含7的数

原文:https://www.cnblogs.com/teark/p/14247926.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!