沉浸式过Python基础(2经典练习- 判断和循环的使用)

本文通过一系列Python代码实例,涵盖了阶乘计算、图形打印、猜数字游戏、序列求和、数字反转、幸运数字筛选、讲师随机分配及回文数判断等算法。同时展示了如何使用字典进行增删操作,实现简单的联系人管理系统。

求阶乘 例如:5!=54321

i=1
j=5
mul=1
for i in range(1,j+1):
    mul=mul*i
print("{0}!={1}".format(j,mul))

经典图形

i=1
j=1
for i in range (1,6):
    for j in range (1,i+1):
        print("*",end=" ")
    print("\n")

猜数字游戏

猜数字游戏:
1.随机生成一个1~10的数字;
2.用户共有2次机会猜;
3.若用户猜测的数字大于随机生成的数,打印"猜的数字大了"
4.若用户猜测的数字小于随机生成的数,打印"猜的数字小了"
5.若用户猜测的数字等于随机生成的数,打印"恭喜,你猜对了!",并退出循环。

import random
number = random.randint(1,10)
print("数字猜谜游戏!")
i = 1
for i in range(1,3):
    guess = int(input("请输入你猜的数字:"))
 
    if guess == number:
        print("恭喜,你猜对了!")
        break
    elif guess < number:
        print("猜的数字小了")
    elif guess > number:
        print("猜的数字大了")     

计算2/1 + 3/2 + 4/3 +…+(n+1)/n,写出算法的程序.

i=1
sum=0
n=10
for i in range(1,n):
        print("{0}/{1}".format(i+1,i),end="+")
        sum=i+1/i
print("={0}".format(sum))

将1,2,3,4,5,6,7进行反转,反转结果为7,6,5,4,3,2,1

# 第一种
list = [1,2,3,4,5,6,7]
i = 0
l = int(len(list))
print("反转前的结果:",list[0:l])
for i in range(0,int(l/2)):
    tmp = list[i]
    list[i] = list[l-i-1]
    list[l-i-1] = tmp
#     list[i] = list[-(i+1)]
#     list[-(i+1)] = tmp
print("反转后的结果:",list[0:l])
# 第二种
list = '1234567'       
print(list[::-1])

幸运数字6(只要是6的倍数):输入任意数字,
例:【如数字8,生成nums列表,元素值为1~8,从中选取幸运数字移动到新列表lucky】,打印nums与lucky。

number = int(input("请输入你的数字:"))
i = 1
nums = []
lucky = []
for i in range(1,number+1):
    if i % 6 ==0:
        lucky.append(i)
    else: nums.append(i)
print("随机数字组:",nums)
print("幸运数字组",lucky)

把8名讲师随机分配到3个教室。 提示:三个教室:classrooms = [[], [], []]

import random
teachers = ["A","B","C","D","F","G","H","I"]
class1 = []
class2 = []
class3 = []
i = 1
for i in teachers:
    n = random.randint(1,3)
    if n==1:
        class1.append(i)
    elif n==2:
        class2.append(i)
    else :
        class3.append(i)
print("第一个教室老师:",class1)
print("第二个教室老师:",class2)
print("第三个教室老师:",class3)

一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

# 输入一个5位数,判断它是否是回文数:
a = int(input(" 请输入一个5位整数:"))
s = str(a)
if s[0] == s[-1] and s[1] == s[-2]:
    print(" %d 是一个回文数!" % a)
else:
    print(" %d 不是一个回文数!" % a)

有一个已经排好序的数组ln=[1,2,3,4,5,11],先输入一个数,请按原来的规律将它插入数组中.
首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。
参考:https://www.runoob.com/python/python-exercise-example39.html

n = int(input(" 请输入一个数:"))
list = [1,2,3,4,5,11]
list.append(n)
print(list)
for i in range (len(list)-2,0,-1):
    if list[i]>list[i+1]:
        list[i],list[i+1]=list[i+1],list[i]
print(list)

字典增删操作:毕业联系方式管理系统
参考:https://blog.csdn.net/Artificial_idiots/article/details/111792966

info_list = []  # 用来存放所有学生数据,每一个学生的数据都是一个列表
while True:
    # 1、界面
    print("---------------------------------------------------------------")
    print("毕业联系方式管理系统")
    print("[1]增加学员信息")
    print("[2]删除学员信息")
    print("[3]退出系统")
    print("---------------------------------------------------------------")
    # 2、输入,接收用户的输入的数字,执行对应的操作
    command = int(input("请输入1到3之间的数字,进行对应操作:"))
    # 3、通过判断用户输入的数字是1,还是2,还是3执行对应的操作
    if command == 1:
        # 添加学生信息
        # 让用户输入姓名、年龄、电话
        name = input("请输入姓名:")
        age = input("请输入年龄:")
        mobile = input("请输入电话:")
        # [name, age, mobile]
        info_list.append({"name": name, "age": age, "mobile": mobile})
        print(info_list)

    elif command == 2:
        # 删除学生信息
        name = input("请输入姓名:")
        # 遍历info_list这个列表(要找到这个人)
        for i in info_list:
            if name in i.values():
                # 在这个列表中就执行删除#
                info_list.remove(i)
                print("删除成功!")
                break  # 已经找到这个人了,后面的人就不需要在遍历
        else:
            print("查无此人!")
        print(info_list)

    elif command == 3:
        # 退出系统
        print("退出成功!谢谢使用!")
        break
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不想想了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值