python--实验3 流程控制

  • 实验目的:
  1. 掌握python的程序控制结构
  2. 掌握python的流程控制结构的几种用法
  3. 掌握python的编程技巧,学会用程序逻辑解决需求

二、实验内容:

说明:基础题为必做题,提高题为选做题

1.(基础题) 从控制台获取4个整数,通过条件判断,求出最大值打印输出

程序运行样式如下:

程序代码:

第一种方法:

#include <stdio.h>

int main() {
    int num1, num2, num3, num4;
    
    // 从控制台获取4个整数
    printf("请输入第一个整数: ");
    scanf("%d", &num1);
    
    printf("请输入第二个整数: ");
    scanf("%d", &num2);
    
    printf("请输入第三个整数: ");
    scanf("%d", &num3);
    
    printf("请输入第四个整数: ");
    scanf("%d", &num4);
    
    // 通过条件判断求出最大值
    int max = num1;
    
    if (num2 > max) {
        max = num2;
    }
    if (num3 > max) {
        max = num3;
    }
    if (num4 > max) {
        max = num4;
    }
    
    // 打印输出最大值
    printf("最大值是: %d\n", max);
    
    return 0;
}

第二种方法:

def get_max_value():
    # 从控制台获取4个整数
    numbers = []
    for i in range(4):
        num = int(input(f"请输入第{i+1}个整数: "))
        numbers.append(num)
    
    # 通过内置函数 max 求出最大值
    max_value = max(numbers)
    
    # 打印输出最大值
    print(f"最大值是: {max_value}")

# 调用函数执行
get_max_value()

2.(基础题) 控制台输入一个四位数的数字,判断是否满足,百位数字大于千位数字,十位数字大于百位数字,个位数字是其他三位数字的和,如果满足,则是幸运数字,否则不是!

程序运行样式如下:

程序代码:

def is_lucky_number():
    # 从控制台输入一个四位数的数字
    number = input("请输入一个四位数的数字: ")
    
    # 确保输入的是一个四位数
    if len(number) != 4 or not number.isdigit():
        print("请输入一个有效的四位数!")
        return

    # 将输入的字符串转换为整数
    number = int(number)
    
    # 获取千位、百位、十位和个位的数字
    qian = number // 1000
    bai = (number // 100) % 10
    shi = (number // 10) % 10
    ge = number % 10
    
    # 判断条件
    if bai > qian and shi > bai and ge == qian + bai + shi:
        print("是幸运数字")
    else:
        print("不是幸运数字")

# 调用函数执行
is_lucky_number()

3、 (基础题) 显示输出1~100之间 7的倍数或个位数是7的数字。每5个一行输出所有数字。

程序代码:

def print_special_numbers():
    count = 0
    for i in range(1, 101):
        if i % 7 == 0 or i % 10 == 7:
            print(f"{i:3}", end=" ")
            count += 1
            if count % 5 == 0:
                print()  # 换行

    # 如果最后一行的数字个数不足5个,打印换行
    if count % 5 != 0:
        print()

# 调用函数执行
print_special_numbers()

4、 (基础题)实现用户登录信息匹配,用户登录需求:

  1. 登录:输入用户名和密码;
  2. 判断用户名和密码是否正确(name='Jenny',passwd= '1368'),输入错误重新输入;
  3. 登录仅有三次机会,超过3次退出。程序运行样式如下:

程序代码:

def user_login():
    name = 'Jenny'
    passwd = '1368'
    chances = 3
    
    while chances > 0:
        input_name = input("请输入用户名:")
        input_passwd = input("请输入密码:")
        
        if input_name == name and input_passwd == passwd:
            print("登录成功!")
            break
        else:
            chances -= 1
            if chances > 0:
                print(f"用户名或密码错误,您还有{chances}次尝试机会。")
            else:
                print("超过登录次数限制,退出登录。")
                break

user_login()

(选做题) 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。试输入一个数,并求出对应的数字。

程序代码:

def encrypt(num):
    # 分解出每一位数字
    num_list = [int(d) for d in str(num)]
    
    # 加密规则:每位数字加上5,取余数
    encrypted_num = [(d + 5) % 10 for d in num_list]
    
    # 交换位置
    encrypted_num[0], encrypted_num[3] = encrypted_num[3], encrypted_num[0]
    encrypted_num[1], encrypted_num[2] = encrypted_num[2], encrypted_num[1]
    
    return encrypted_num

def decrypt(encrypted_num):
    # 交换位置恢复
    num_list = encrypted_num.copy()
    num_list[0], num_list[3] = num_list[3], num_list[0]
    num_list[1], num_list[2] = num_list[2], num_list[1]
    
    # 解密规则:每位数字减去5,取余数
    decrypted_num = [(d - 5) % 10 for d in num_list]
    
    # 将数字合并为整数
    decrypted_num_int = int(''.join(map(str, decrypted_num)))
    
    return decrypted_num_int

num = int(input("请输入一个四位整数:"))

encrypted_num = encrypt(num)
print(f"加密后的数字为:{encrypted_num}")

decrypted_num = decrypt(encrypted_num)
print(f"解密后的数字为:{decrypted_num}")

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验名称:Python基础语法实验-1 实验目的: 1. 学习Python基础语法的使用方法; 2. 熟悉Python中的变量、数据类型、运算符; 3. 掌握Python中的控制流程语句。 实验内容: 1. 定义一个变量,变量名为name,赋值为“Tom”,输出该变量的值; 2. 定义一个变量,变量名为age,赋值为20,输出该变量的值; 3. 定义一个变量,变量名为score,赋值为85.5,输出该变量的值; 4. 定义两个变量,变量名分别为a和b,分别赋值为10和5,使用加、减、乘、除、取模、幂运算符,输出运算结果; 5. 使用if-else语句,判断一个数x是否为偶数,如果是,输出“x是偶数”,否则输出“x是奇数”; 6. 使用for循环,计算1到10之间所有整数的和,并输出结果; 7. 使用while循环,计算1到10之间所有偶数的和,并输出结果。 实验步骤: 1. 定义变量name,赋值为“Tom”,使用print()函数输出该变量的值: ``` name = "Tom" print(name) ``` 2. 定义变量age,赋值为20,使用print()函数输出该变量的值: ``` age = 20 print(age) ``` 3. 定义变量score,赋值为85.5,使用print()函数输出该变量的值: ``` score = 85.5 print(score) ``` 4. 定义变量a,赋值为10,变量b,赋值为5,分别使用加、减、乘、除、取模、幂运算符,输出运算结果: ``` a = 10 b = 5 print(a + b) print(a - b) print(a * b) print(a / b) print(a % b) print(a ** b) ``` 5. 使用if-else语句,判断一个数x是否为偶数,如果是,输出“x是偶数”,否则输出“x是奇数”: ``` x = 8 if x % 2 == 0: print("x是偶数") else: print("x是奇数") ``` 6. 使用for循环,计算1到10之间所有整数的和,并输出结果: ``` sum = 0 for i in range(1, 11): sum += i print(sum) ``` 7. 使用while循环,计算1到10之间所有偶数的和,并输出结果: ``` sum = 0 i = 1 while i <= 10: if i % 2 == 0: sum += i i += 1 print(sum) ``` 实验结果: ``` Tom 20 85.5 15 5 50 2.0 0 100000 x是偶数 55 30 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值