# coding=utf-8
import random
# 第一个打印语句
print('---第一个打印语句---')
print('Hello World!')
变量
变量定义的规则:
- 变量名只能是 字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 以下关键字不能声明为变量名
- ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
- 尽量采用下划线命名或者驼峰命名法
- gf_of_oldboy = "LYF"
- GFOfOldboy = "LYF"
# input()调用用户输入信息,函数接受一个标准输入数据,返回为 string 类型。
print('---调用用户输入信息---')
name = input('请输入你的名字:')
print('请输入你的名字:', name)
name = input("Name:")
age = int(input("Age:"))
job = input("Job:")
salary = input("Salary:")
info = '''
------ info of %s ------
Name:%s
Age:%d
Job:%s
Salary:%s
''' % (name, name, age, job, salary)
print(info)
info2 = '''
------ info2 of {n} ------
Name:{n}
Age:{a}
Job:{j}
Salary:{s}
'''.format(n=name, a=age, j=job, s=salary)
print(info2)
变量运算
# 定义变量进行运算
print('---定义变量进行运算---')
pi = 3.1415926
radius = 10
# 计算一个半径10厘米的周长
print(2 * pi * radius)
# 计算一个半径10厘米的面积
print(pi * radius * radius)
# 简单的加减乘除
print('---简单的加减乘除---')
print('100 + 2 =', 100 + 2)
print('1 - 5 =', 1 - 5)
print('5 * 6 =', 5 * 6)
print('9 / 4 =', 9 / 4)
# 复杂的运算
print('---复杂的运算---')
num_left = 5
num_right = 2
print(num_left, '+', num_right, '=', num_left + num_right)
print(num_left, '-', num_right, '=', num_left - num_right)
print(num_left, '*', num_right, '=', num_left * num_right)
print(num_left, '/', num_right, '=', num_left / num_right)
# 幂运算
print(num_left, '**', num_right, '=', num_left ** num_right)
# 整除
print(num_left, '//', num_right, '=', num_left // num_right)
# 求余
print(num_left, '%', num_right, '=', num_left % num_right)
三元运算
- 如果条件为真:result = 值1
- 如果条件为假:result = 值2
result = 值1 if 条件 else 值2
string 与 byte
- byte是二进制
- 所有的 strings 均是 unicode 类型。
- Python 2 将 strings 处理为原生的 bytes 类型,而不是 unicode,
- Python 3 所有的 strings 均是 unicode 类型。
# encode 编码 encode()不指定,则使用默认
code_byte = '€20'.encode('utf-8')
print(code_byte)
# decode 解码
code_string = b'\xe2\x82\xac20'.decode('utf-8')
print(code_string)
特殊变量
# 字符串和变量名的区别
# ‘abcd’ 字符串带引号
# name 变量名不带引号
# 字符串和数字的区别
# ‘1234’ 字符串带引号
# 1234 数字不带引号
# 特殊字符
print('---特殊字符---')
# \ 转义符
# \r 回车,使光标移动到本行行首,覆盖当前行
# \n 换行,使光标移动到下一行行首
# \t tab键
# \f 换页
# 特殊标点需要转义
# 转义打印‘\’
print('\\')
# 转义打印'\n'
print('a\\nb')
# 转义进行换行
print('a\nb')
print('a\rb')
print('I\'m HL.')
print("I'm HL.")
print("""I'm 'HL'.""")
print('''I'm "HL".''')
# 字符串类型运算
print('---字符串类型运算---')
# 字符串+:必须为两个字符串才能相加
print('abc' + 'def')
# 字符串*:必须为字符串*整数
print('*' * 3 + 'abc' + 'def' + '*' * 3)
# type() 函数如果你只有第一个参数则返回对象的类型,三个参数返回新的类型对象。
print(type(123))
print(type(1.2))
print(type(''))
print(type('qwer'))
# 类型转换
print('---类型转换---')
# int/str => float
# float/str => int
# int/fload => str
print(type(int(1.2)))
print(type(int('1')))
print(type(float(1)))
print(type(float('1.2')))
print(type(str(1)))
print(type(str(1.2)))
# 将abc和28相加
print('abc' + str(28))
练习1、定义变量name(str)和age(int),并打印出“My name is XX, and I'm XX years old.”
name = 'HL'
age = 28
print("My name is " + name + ", and I\'m " + str(age) + " years old.")
练习2、提示用户分别输入name和age,并打印出“My name is XX, and I'm XX years old.”
name = input('Please input your name:')
age = input('Please input your age:')
print("My name is " + name + ", and I\'m " + age + " years old .")
练习3、提示用户从控制台输入两个数字,计算两个数字的和差积商,并进行打印。
print('Please enter two Numbers for four operations.')
num_one = int(input('Please input your number:'))
num_two = int(input('please input your number again:'))
print(num_one, '+', num_two, '=', num_one + num_two)
print(num_one, '*', num_two, '=', num_one * num_two)
print(num_one, '-', num_two, '=', num_one - num_two)
print(num_one, '/', num_two, '=', num_one / num_two)
布尔值
# 布尔类型,表示真假,之后True/False两个值
is_boy = True
is_girl = False
print(is_boy)
print(is_girl)
# 或
print(True or True)
print(True or False)
print(False or True)
print(False or False)
# 且
print(True and True)
print(True and False)
print(False and True)
print(False and False)
# 非
print(not True)
print(not False)
# 布尔类型的四则运算
# 加相当于“或”,乘相当于“且”
print(True, True)
print(True + True)
print(True - True)
print(True * True)
print(True / True)
print(True, False)
print(True + False)
print(True - False)
print(True * False)
# print(True / False)
print(False, True)
print(False + True)
print(False - True)
print(False * True)
print(False / True)
print(False, False)
print(False + False)
print(False - False)
print(False * False)
# print(False / False)
# True为1
# False为0
# 对布尔类型进行类型转换
print(int(True))
print(int(False))
print(float(True))
print(float(False))
print(str(True))
print(str(False))
# 转换为bool型时,1,-2,2.2,'a','True','False'都是为True
# 只有0,0.0,‘’为False。
print(bool(1))
print(bool(1.0))
print(bool(-2))
print(bool(2.2))
print(bool('a'))
print(bool('True'))
print(bool('False'))
print(bool(' '))
print(bool(0))
print(bool(0.0))
print(bool(''))
# 关系型运算(==,<=,>=,!=)
print('a' < 'b')
print(5 <= 8)
print(3 != 3)
条件判断(关键字:if,elif,else)
# 从第一个条件开始判断,如果条件为真则执行子语句,否则判断下一个条件,如果所有为假,则执行else中的子语句。
# elif可以有0个或任意个,else可以有一个或者0个。
# print('>>>买一斤包子')
# show = input('你看见西瓜了吗?')
# if show == 'yes':
# print('>>>买一个包子')
# elif show == 'y':
# print('>>>买一个包子')
# elif show == 'Y':
# print('>>>买一个包子')
# elif show == 'Yes':
# print()
# else:
# print('>>>买一斤包子')
练习4、提示用户从控制台驶入一个分数
判断分数如果>=90分则打印优秀
判断分数如果>=80分则打印优秀
判断分数如果>=60分则打印及格
否则打印不及格
# score = float(input('please input your score:'))
# if score >= 90:
# print('优秀')
# elif score >= 80:
# print('良好')
# elif score >= 60:
# print('及格')
# else:
# print('不及格')
练习5、提示用户从控制台输入一个年份,判断年份是否为闰年。(PS.四年为一闰,百年不闰;四百年再闰。)
years = int(input('please input years:'))
if years % 4 == 0 and years % 100 != 0:
print(years,'为闰年')
elif years % 400 == 0:
print(years, '为闰年')
else:
print(years,'不为闰年')
循环语句(关键字:while)
# 求1-100的和
idx = 1
idx_sum = 0
while idx <= 100:
idx_sum += idx
idx = idx + 1
print('total:', idx_sum)
练习6、提示用户在控制台上输入数字或exit,当用户输入exit后结束进程程序,并打印所有输入数字的和与平均数。
test6_num = input('Please input your numbers or exit:')
test6_num_count = 0
test6_num_sum = 0
while test6_num != 'exit' and test6_num != '':
test6_num_sum += float(test6_num)
test6_num_count += 1
test6_num = input('Please input your numbers or exit:')
if test6_num_count == 0:
print('sum:0,avg:0')
else:
print('sum:', test6_num_sum, 'avg:', test6_num_sum/test6_num_count)
break 和 continue
# break如果条件为真,跳出结束循环
eg_num1 = 0
while eg_num1 <= 5:
eg_num1 += 1
if eg_num1 == 3:
break
print(eg_num1)
# continue如果条件为真,跳过本次循环
eg_num2 = 0
while eg_num2 <= 5:
eg_num2 += 1
if eg_num2 == 3:
continue
print(eg_num2)
作业1:打印乘法口诀
提示:尝试print('HL')与print('HL', end='')的区别
jobs_num1 = 1
while jobs_num1 <= 9:
jobs_num2 = 1
while jobs_num2 <= 9:
if jobs_num2 <= jobs_num1:
print(jobs_num1, '*', jobs_num2, '=', jobs_num1 * jobs_num2, end = '\t')
jobs_num2 += 1
jobs_num1 += 1
print('\n')
作业2:猜数游戏
随机生成一个0-100的数字,提示用户在控制台上输入一个数字
当用户输入数字小于生成的随机数,则打印猜小了;
当用户输入数字大于生成的随机数,则打印猜大了;
当用户输入数字等于生成的随机数,则打印猜对了,并退出程序;
用户可最多猜测5次,如果5次都猜错,则打印“太笨了,下次再来吧。”并结束程序。
提示:生成随机数的方法
# 提示
import random
random_num = random.randint(0, 100)
random_num1 = random.randint(0, 100)
user_count = 1
while user_count <= 5:
user_num1 = input('Please input your number:')
user_num1 = int(user_num1)
if user_num1 > random_num1:
print('猜大了!')
elif user_num1 < random_num1:
print('猜小了!')
else:
print('猜对了!')
break
user_count += 1
if user_count > 5:
print('太笨了,下次再来吧。正确值是:', random_num1)
网友评论