Python基础 P3分支与循环进阶练习

文章目录

  • Python基础 P3分支与循环进阶练习
    • 1.用户验证程序
    • 2.图形周长与面积
    • 3.角谷猜想
    • 4.抛硬币实验

Python基础 P3分支与循环进阶练习

1.用户验证程序

简介

用户的验证程序可以通过判断来实现,也就是python的分支功能

举个栗子
1.输入一组用户名和密码,判断该组密码是否符合程序内对应的用户名和密码(用户名:CagePan 密码:654321)
2.如果一致输出身份验证成功,如果不一致则输出验证失败

# 用户身份验证
username = input("请输入用户名:")
password = input("请输入密码:")
if username == "CagePan" and password == "654321":    
    print("身份验证成功!")
else:    
    print("身份验证失败!")

进阶练习

接下来带入一个注册信息的功能

1.通过循环和分支实现登入功能选项(登录用户/注册用户/退出)
2.内置已有账户(账户1 用户名:CagePan 密码:654321 账户2 用户名:aaa 密码:222)
3.登录界面可以判断多个用户信息确认是否有改用户并判断登录是否成功
4.注册界面可以通过输入用户名和密码来存入用户信息

ch = 1
S1 = 0
U_name = ["CagePan", "aaa"]
U_password = ["654321", "222"]
while ch != 0:    
    ch = int(input("--\n1.登录用户\n2.注册用户\n0.退出\n--\n请输入你的选项:"))    
    if ch == 1:        
        username = input("请输入用户名:")        
        password = input("请输入密码:")        
        for u_name, u_password in zip(U_name, U_password):            
            if username == u_name and password == u_password:                
                print(u_name, "身份验证成功!")                
                S1 = 1        
        if S1 == 0:            
            print("身份验证失败!")        
        else:            
            S1 = 0    
    if ch == 2:        
        username = input("请输入用户名:")       
        password = input("请输入密码:")       
        U_name.append(username)        
        U_password.append(password)        
        print("身份添加成功!")

用户信息删除
在前面的基础上加入用户注销功能

程序(见附件)

2.图形周长与面积

简介
是否构成三角形可以通过分支判断功能来实现,比如三角形的构成就是两边和大于第三边

举个栗子

1.输入三角形的三边
2.判断该三边是否构成三角形
3.三边之和计算周长
4.通过海伦公式计算面积

# 判断三边是否构成三角形并计算周长及面积(海伦公式)
a = float(input("a = "))
b = float(input("b = "))
c = float(input("c = "))
if a + b > c and a + c > b and b + c > a:    
    print("周长:%f" % (a + b + c))   
    p = (a + b + c) / 2   
    area = (p * (p - a) * (p - b) * (p - c)) ** 0.5    
    print("面积:%f" % area)
else:    
    print("不构成三角形")

增加对四边形的构成判断及周长和面积计算

进阶练习
程序(见附件)

3.角谷猜想

简介

角谷猜想是指对于每一个正整数,如果它是奇数,则乘三再加上一,如果它是偶数,则对它除以2,如此循环,最终都能够得到1

举个栗子

# 角谷猜想
num = int(input("请输入一个自然数:"))
while num > 1:   
    if num%2 == 0:        
        num /= 2        
        print(int(num*2),"/2 = ",int(num))   
    else:        
        num = num*3+1        
        print(int((num-1)/3),"*3+1 = ",int(num))

4.抛硬币实验

简介

利用分支和循环模拟抛硬币的实验

举个栗子

# 抛硬币实验
import random
counts = int(input("请输入抛硬币的次数:"))
i = 0
print("开始抛硬币实验:")
while i < counts:    
    num = random.randint(1, 10)    
    if num % 2:        
        print("正面", end=" ")    
    else:        
        print("反面", end=" ")  
    i += 1
# 抛硬币实验进阶
import random
counts = int(input("请输入抛硬币的次数:"))
i = 0
positive = 0
negative = 0
print("开始抛硬币实验:")
if counts <= 100:    
    while i < counts:        
        num = random.randint(1, 10)       
        if num % 2:            
            print("正面", end=" ")            
            positive += 1        
        else:            
            print("反面", end=" ")            
            negative += 1       
            i += 1    
    print("\n一共模拟了",counts,"次抛硬币,结果如下:")    
    print("正面:",positive,"次")    
    print("反面:",negative,"次")
else:   
    while i < counts:        
        num = random.randint(1, 10)       
        if num % 2:                        
            positive += 1        
        else:            
            negative += 1        
            i += 1   
        print("一共模拟了",counts,"次抛硬币,结果如下:")    
        print("正面:",positive,"次")    
        print("反面:",negative,"次")

程序(见附件)

你可能感兴趣的:(Python,python,开发语言)