练习题4

# 列表['alex','egon','yuan','wusir','666']
#
#    1.把666替换成999
#    2.获取"yuan"索引
#    3.假设不知道前面有几个元素,分片得到最后的三个元素

li1 = ['alex','egon','yuan','wusir','666']
li1[-1]=999
print(li1)
print(li1.index('yuan'))
print(li1[-3:])


# 对字典进行增删改查(编程)
dic = {"Development":"开发小哥","OP":"运维小哥","Operate":"运营小仙女","UI":"UI小仙女"}
dic["需求"]='需求小哥'
print(dic)
del(dic['需求'])  #del(dic['需求小哥'])报错 不能通过删除值删除
print(dic)
dic['OP']='王尼玛'
print(dic)
print(dic.get('OP'))


# 计算1+2+3...+98+99+100
sum = 0
for i in range(1,101):   #range()的范围是[ )
    sum = sum + i
    #print(sum)
print(sum)

# 制作趣味模板程序(编程题)
# 需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实
# 如:敬爱可爱的xxx,最喜欢在xxx地方干xxx
name = input('请输入姓名:')
locate = input('请输入地点:')
thing = input('请输入爱好:')
print("美丽的%s最喜欢在%s%s"%(name,locate,thing))



# 实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,
# 显示登陆成功,否则登陆失败,失败时允许重复输入三次

#方法1:
for i in range(1,4):
    user = input("用户名:")
    paswd = input("密码:")
    if (user == 'seven' or user == 'alex') and paswd == '123':
        print('登陆成功!')
        break
    else:
        print("登陆失败!")
i = i-1
#方法2:
for i in range(1,4):
    user = input("用户名:")
    paswd = input("密码:")
    if user == 'seven':
        if paswd == '123':
           print('登陆成功!')
           break
    elif user == 'alex':
        if paswd == '123':
           print('登陆成功!')
           break
        else:
            print("登陆失败!")
            i = i-1


# 求1~100间所有偶数的和(亦可奇数和,使用while循环写)
i = 0
sum = 0
while i < 101:
    if i%2 == 0:
        sum = sum + i
    i = i + 1
print(sum)


# 输入一年份,判断该年份是否是闰年并输出结果。(该程序可以重复使用 使用while True)
# 注:凡符合下面两个条件之一的年份是闰年。 (1) 能被4整除但不能被100整除。 (2) 能被400整除。
while True:
    M = input("请输入年份(数字):")
    if M.isdigit() == True:
        Y = int(M)
        # print(type(len(Y)))
        # print(int(M))
        # if (Y > 9999 or Y < 1000):
        #     print('年份是四位数,请重新输入:')
        if (Y % 4 == 0 and Y % 100 != 0) or Y % 100 == 0:
            print("%s是闰年"%(Y))
        else:
            print("%s不是闰年"%(Y))
    elif M == 'q' or M == 'Q':
        break


# 将列表['alex', 'steven', 'egon'] 中的每一个元素使用 ‘\_’ 连接为一个字符串
li = ['alex', 'steven', 'egon']
# s = str(li)
# print(s)
# for i in li:
    # s = str(i)
print('\_'.join(li[::1]))
print('\_'.join(li))

# 求100以内不能被3整除的所有数,并把这些数字放在列表sum3=[]里,并求出这些数字的总和和平均数
sum3=[]
sum_add=0
avg=0
for i in range(1,101):
    if i % 3 != 0:
        sum3.append(i)

# print(len(sum3))
# for j in sum3:
        sum_add = sum_add + i
print(sum3)
avg = sum_add/(len(sum3))
print("总和:%s  平均值:%s"%(sum_add,avg))


# 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?

nums =[]
for index1 in range(1,5):
    for index2 in range(1,5):
        for index3 in range(1,5):
            if index1!=index2 and index2 != index3 and index3 != index1:
                num = 100*index1 +10*index2 +index3
                if num not in nums:
                    nums.append(num)
print(nums)
print(len(nums))

# 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:
# 每位数字都加上5, 然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
data1 = input("输入数据:")
data = list(data1)
for idx,i in enumerate(data):
    data[idx] = (int(i)+5)%10
# print(data)
data.reverse()
print(data)

# 求100以内的素数和
sum = 2
for i in range(3,101):
    for j in range(2,i):
        if i%j == 0:
           break
    else:
        sum += i
print(sum)

# # 求100以内的素数
sum = 2
li=[]
for i in range(3,101):
    for j in range(2,i):
        if i%j == 0:
           break
    else:
        li.append(i)
print(li)
#大神代码
# print(" ".join("%s" % x for x in range(2,100) if not [y for y in range(2,x) if x % y ==0]))
#Python中for循环搭配else的陷阱  https://www.cnblogs.com/dspace/p/6622799.html
#当迭代的对象迭代完并为空时,位于else的子句将执行,而如果在for循环中含有break时则直接终止循环,并不会执行else子句。
#c错误
# for i in range(10):
#     if i == 5:
#         print( 'found it! i = %s' % i)
# else:
#     print('not found it ...')
#
# #正确
# for i in range(10):
#     if i == 5:
#         print( 'found it! i = %s' % i)
#         break
# else:
#     print('not found it ...')
原文地址:https://www.cnblogs.com/Nicloe2333/p/10968486.html