目录
标准数据类型
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()