Python猜拳游戏、数字竞猜游戏小实例、随机密码注册,模拟用户登陆实例

 

目录

标准数据类型

if条件语句

for循环

while循环


标准数据类型

    Number(数字)

    String(字符串)

    List(列表)

   Tuple(元组)

   Dictionary(字典)

数字:

    用于存储数值。数据类型是不允许改变的,这就意味着如果改变数字数据类型得值,将重新分配内存空间

字符串:

   python中字符串被定义为引号之间的字符集合

列表:

    可以将python中的列表当成是普通的数组,它能保存任意数量,任意类型的python对象。

也像字符串一样,列表支持下表和切片操作。

元组:

    元组可以认为是“静态”的列表,与列表不同的是,元组一旦定义,就不可以改变。

字典:

    字典是由键值(键值)对构成的映射数据类型,通过键值取值,不支持下标操作。

 

if条件语句:

如果表达式的值为非0或者为布尔值True,则代码组if_suite被执行,否则就执行else_suite

结构体:

if  expression:

    if_suite

else:

    else_suite

实例:

#Author Scong
# -*- coding utf-8 -*-
# help()

(1)
if -0.0:
    print('yes')    #不打印,任何值为0的数字都是False
if [1,2]:
    print('yes')    # 非空对象都是True
if ' ':
    print('yes')    #空格也是字符,所以条件为True

(2)
a = 10
b = 20
if a < b:
    smaller = a
else:
    smaller = b
print(smaller)
    # ||
    # ||等价于
    # ||
    # \/
smaller = a if a < b else b
print(smaller)

随机密码注册登陆

#Author Scong
# -*- coding utf-8 -*-
# help()


import random
import string
import getpass

all_char = string.ascii_letters + string.digits

# 随机产生密码
def get_pass(num):
    result = ''
    for i in range(num):
        char = random.choice(all_char)  # 随机生成密码
        result += char
    return result


# data = (get_pass(num))          #将随机生成的密码存储在变量data中
# print(data)

all_choice = """
[0] 随机胜密码\n
[1] 手动输入密码\n
请选择:"""

print("****** Please Regis First ******")

get_name = input("Username:")
choice_pass = int(input(all_choice))

if choice_pass == 0:
    num = int(input("\n请输入你要生成的密码长度:"))
    data = (get_pass(num))  # 将随机生成的密码存储在变量data中
    print(data)
    print("\n用 户 为:", get_name)
    print("登陆密码是:", data)
elif choice_pass == 1:
    get_passwd = input("Password:")
    print("\n用户为:", get_name)
    print("登陆密码是:", get_passwd)
else:
    print("\033[31;1m请正确选择选项!!!\033[0m")
    exit()

username = input("\nUsername:")
password = getpass.getpass("Password:")
if choice_pass==1:
    if username == get_name and password == get_passwd:
        print("\n\033[34;1mLogin Successful!\033[0m")
    else:
        print("\n\033[31;1mPassword or Username Erroe,Login Faild!\033[0m")
elif choice_pass == 0:
    if username == get_name and password == data:
        print("\n\033[34;1mLogin Successful!\033[0m")
    else:
        print("\n\033[31;1mPassword or Username Erroe,Login Faild!\033[0m")

模拟用户登陆实例:

#Author Scong
# -*- coding utf-8 -*-
# help()

import getpass    # 导入模块

# 进行用户注册
print("Please register your username and password!")
username = input("Username:")
password = getpass.getpass("Password:")
print("\nRegistered Successful !")

# 进行用户登陆
print("\nPlease Login!\n")
name=input("Username:")
passwd=getpass.getpass("Password:")

#判断用户名以及密码
if (name == username and passwd == password):
    print("Login Successful")
elif passwd != password:
    print("Faild,Password mistake!")
else:
    print("User not exist!!!")

    #注意:因为pycharm无法控制终端,所以在使用了getpass模块还是会显示明文密码,且还会有报错,(错误不影响调试)。
    #如果想要看到效果,在linux的终端执行即可!的的Windows用户可以在CMD终端执行!

for循环:

数字竞猜:

#Author Scong
# -*- coding utf-8 -*-
# help()

import random

number = random.randint(1,10)

#三次机会进行数字竞猜
for i in range(3):
    num = int(input("Guess a number(1-10):"))

    if num > number:
        print("猜大了!")
    elif num == number:
        print("恭喜,猜对了!")
        break
    else:
        print("猜小了!")
print("The number is:",number)'''

 

while循环:

猜拳游戏(三局两胜制)

#Author Scong
# -*- coding utf-8 -*-
# help()

import random

print("\t**************************")
print("\t*                        *")
print("\t*      Hey  Welcome!     *")
print("\t*  游戏采用是三局两胜制  *")
print("\t*  GoodLuck  Have Fun!   *")
print("\t*                        *")
print("\t**************************")

mode = ['剪刀', '石头', '布']
win_list = [['石头', '剪刀', ], ['剪刀', '布'], ['布', '石头']]
prompt = """
\t[0] 剪刀
\t[1] 石头
\t[2] 布
\t请选择出拳的姿势:"""

player_win = 0
computer_win = 0

while True:

    computer = random.choice(mode)
    ind = int(input(prompt))

    if ind > 2:
        print("\t\033[31;1m你的输入有误,请重新输入\033[0m")
        continue
    else:
        player = mode[ind]

#判断出拳胜负者以及胜利次数统计:
    print(" \n       ****** Result ******      ")
    print("\nPlayer:%s,Computer:%s" % (player, computer))
    if player == computer:
        print("\t\033[32;1m平局!再来一次!\033[0m")

    elif [player,computer] in win_list:
        print("'\t\033[31;1m甘拜下风,YOU WIN!!!\033[0m")
        player_win += 1

    else:
        print("'\t'\n\033[34;1m手气不佳,YOU LOSE!!!\033[0m")
        computer_win += 1

#根据统计的胜负次数,判断三局两胜制谁胜谁负:

    print("\nPlayer Win Count:",player_win,"\tComputer Win Count:",computer_win )
    if player_win >= 3 and computer_win < 3:
        print("\n\033[31;1m****** Player Win,Game Over!!! ******\033[0m")
        print("\n\033[31;1m******        Bye              ******\033[0m")
        exit()
    elif computer_win >= 3 and  player_win < 3:
        print("\n\033[35;1m****** Computer Win,GookLuck!!! ******\033[0m")
        print("\n\033[35;1m******          Bye              ******\033[0m")
        exit()

猜你喜欢

转载自blog.csdn.net/scirhh/article/details/81085307