python基础-练习(五)

# 1题 遍历”12“,遍历range(12)
num_str = "12"
for i in num_str:
    print(i)

for index in range(len(num_str)):
    print(num_str[index])

for i in iter(num_str):
    print(i)

for i in range(12):
    print(i)

# 2题 计算10的阶乘(1*2*3*4*5*6*7*8*9*10)
a = 1
b = 10
for i in range(1, b + 1):
    print(i)
    a = a * i
print(a)

# #3题 计算从1-1000以内 所有奇数的和并输出.

result = 0
for i in range(1,1001) :
    if i % 2 == 1:
        result += i
        i += 1
print('1-1000之间的奇数和是:%d:'% result)
print(f"1-1000之间的奇数和是:{result}")

# #4题打印所有的"水仙花数",所谓"水仙花数"是指一个三位数
# #其各位数字立方和等于该数本身。例如:153是一个"水仙花数",
# #1^3+5^3+3^3 = 153

i = 100
while i < 1000:
    # 假设a为i百位数 b为i的十位数 c为i的个位数
    a = i // 100
    b = i // 10 % 10
    c = i % 10
    if a**3+b**3+c**3 == i:
        print(i)
    i += 1
# 结果:153 370 371 407


# # 5题定义一个函数 用户输入的三个数字的求和 以及另一个
# # 函数求该和的平均值

def sum_num(num1, num2, num3):
    result = num1 + num2 + num3
    print('{}+{}+{}={}'.format(num1, num2, num3, result))
    return result


def avg_num(nums):
    avg = nums / 3
    return avg


num1 = int(input('请输入第一个数字:'))
num2 = int(input('请输入第二个数字:'))
num3 = int(input('请输入第三个数字'))

countnums = sum_num(num1, num2, num3)
print(countnums)
avg = avg_num(countnums)
print(avg)


# 练习:
# hello Ellen
# i = 1
# while i<=5:
#     print('hello Ellen')
#     #计数器
#     i+=1

# 求1-100之间的和
#
# i = 1
# sum = 0
#
# while i <= 100:
#     sum = sum + i
#     i += 1
# print(sum)

i = 1
sum = 0
while i <= 100:
    sum = sum + i
    i += 1
    if i == 8:
        # break   #退出循环体
        continue #跳出当前循环进入下一次循环
        # i = 101
else:
    print(i)
    print(sum)

#实现直角三角形
'''
1*
2**
3***
4****
'''
#第一种方法:
row = 1
while row <= 4:
    print('*'*row)
    row+=1

#第二种方法打印三角形用嵌套循环
row = 1
while row<=4:
    stars = 1
    while stars<=row:
        print("*",end='')
        stars += 1
    print()
    row += 1

'''
for i in iterable: #可迭代的
    pass

'''
# list()
# str()
# tuple()
# dict()
# range()
#__iter__  #以上函数都为可迭代函数
# 共同都拥有_iter_内置方法,它们都是可迭代对象
# int()   #不可迭代
# print(list(range(10)))
# print(list(range(1,10)))
# print(list(range(1,10,2)))
# lis = [1,2,3]
# lis_iter = lis.__iter__()
# #print(lis_iter) #转换成迭代器以后会调用__next__方法
# #__next__
# try:
#     while True:
#         print(lis_iter.__next__())
# except StopIteration:
#     pass

#输入12 壹拾贰圆整

#ch_num[1] ch_num[2]
ch_num = ['零','壹','贰','叁','肆','伍','陆','柒','捌','玖']
ch = ['圆','拾','佰','仟','萬']
ipt = input('请输入数字:')
len_ipt = len(ipt)
for i in ipt:
    len_ipt-=1
    print('{}{}'.format(ch_num[int(i)],ch[len_ipt]),end = '')


# ipt = input('请输入数字:')
# len_ipt = len(ipt)
# for i in ipt:
#     len_ipt -= 1
#     # print(i)
#     # print(ch_num[int(i)])
#     # print(ch[len_ipt])
#
#     print("{}{}".format(ch_num[int(i)],ch[len_ipt]),end="")

#九九乘法表
'''
# 1*1=1
# 2*1=2 2*2=4
# '''
# for i in range(1,10): # 遍历1,2,3,4,,,,9
#    # print(i)
#     for j in range(1,i+1):
#         #print(i,j)
#         print("{}*{}={}".format(j,i,(i*j)),end=" ")
#     print("")

#如果只打印到三层如何做?
#第一种 :
# for i in range(1,10): # 遍历1,2,3,4,,,,9
#     if i == 4:
#         break
#     # print(i)
#     for j in range(1,i+1):
#         #print(i,j)
#         print("{}*{}={}".format(j,i,(i*j)),end=" ")
#     print("")
#第二种
# flag = False
# for i in range(1,10): # 遍历1,2,3,4,,,,9
#    # print(i)
#     if flag:
#        break
#     for j in range(1,i+1):
#         if j == 3:
#             flag = True
#            # break
#         #print(i,j)
#         print("{}*{}={}".format(j,i,(i*j)),end=" ")
#     print("")


#函数调用
# def multi_table():   #以乘法表函数英文命名params是参数
#     for i in range(1, 10):  # 遍历1,2,3,4,,,,9
#         for j in range(1,i+1):
#              print("{}*{}={}".format(j,i,(i*j)),end=" ")
#         print("")
#
# def multi_table1():   #以乘法表函数英文命名params是参数
#     for i in range(1, 10):  # 遍历1,2,3,4,,,,9
#         for j in range(1,i+1):
#              print("{}*{}={}".format(j,i,(i*j)),end=" ")
#         print("")
#
# if __name__ == '__main__':
# 调用尽量完成函数体后再统一调用
# main方法调用程序的入口

    # multi_table()
    # multi_table1()

# 传参
# 不可变传参:
# def test(a): # 这里的a是接收的参数叫:形参
#     a = 10
#     print('111',a)    # a =10
#     pass
#
# a = 1
# test(a) #a是实际的参数叫:实参
# print('222',a)   #  a = 1

# 传可变数据类型参数 只是改变了值,类型id没有变;
# def test1(li):
#     li.extend(([4,5]))
#     print('111',li)
#
# li = [1,2,3]
# test1(li)
# print('222',li)

# 利用函数实现数字相加
# def sum_nums(num1,num2):
#     res = num1 + num2
#     print("{}={}+{}".format(res,num1,num2,))
#
# n1 = int(input("num1:"))
# n2 = int(input("num2:"))
# #sum_nums(n1,n2)
#位置参数一一对应
#sum_nums(n2,n1)
#关键字参数不受位置的影响
#sum_nums(num1=n1,num2=n2)


#默认参数
#range(1,10).index()
# def test2(a,b=2):
#     a = a + b
#     print(a,b)
#
# a = 1
# test2(a)

# import requests
# requests.get()
#动态参数 可变长度参数
# def test3(*args):
#     #*args--->默认返回元组
#     print(args)
#
# test3((1,2,3))

# def test3(*args):
    #*args--->默认返回元组
#     print(args)
#
# tu = [1,2,3,4]
# test3(tu)
# print(type(tu))

# def test4(**kwargs):
#     #字典
#     print(kwargs)  #打印出的是字典
#
# test4(a=1,b=2,c=3)

# def test5(a,b,c):
#     print(a,b,c)
#
# tu = (1,2,3)
# test5(*tu)

#元旦 距离今天还有36天
#元旦距离春节还有24天
#今天距离 春节 还有 元旦 + 春节
# def new_year():
#     dis_new_year = 36
#     print("距离元旦还有:{}天".format(dis_new_year))
#     return dis_new_year
#
# def spring_fes(dis_new_year):
#     dis_spring_fes = dis_new_year + 24
#     print("距离春节还有:{}".format(dis_spring_fes))
#
#reture 返回值注意有返回就有接收
#new_years = new_year()
#new_years = dis_new_year()

# spring_fes(new_years)

# def test6():
#     a = 1
#     b = 2
#     c = 3
   # return a,b,c  #默认是返回元组(1,2,3),
    # 也可以用列表 只要是可迭代对象都可以
    # return [a,b,c]

#可以用拆包方法打印出 1 2 3
# a,b,c = test6()
# print(a,b,c)
发布了35 篇原创文章 · 获赞 0 · 访问量 532

猜你喜欢

转载自blog.csdn.net/weixin_45905671/article/details/104085779
今日推荐