二、条件(if)、循环(while/for)、其他语句(print/exec/eval)

#二、条件(if)、循环(while/for)、其他语句(print/exec/eval)
'''
1、print函数
'''
print("a","b","c")#默认输出有空格符
#通过sep命令参数,可以指定多参数值之间的分隔符
print("a","b","c",sep=',')
print("a","b","c",sep='')

print("hello")#默认有换行符
print("world")
#通过命名参数end可以改变输出字符串结尾的字符
print("hello",end=" ")
print("world")

'''
2、赋值操作(左右两侧要一样多)
'''
x, y = 10, 20
print(x)#10
print(y)#20

x, y = y, x  # x,y对换值
print(x)#20
print(y)#10

'''
3、布尔值(True False)与布尔变量
    在python语言中,每一种类型的值都可以被解释成布尔类型的值
    被解释为False:  None 0 "" () [] {}
'''
print("0=", bool(0))#0= False
print(bool(None))#False
print(bool(""))
print(bool(()))
print(bool([]))
print(bool({}))
print(bool(1))#True
print(1 == True)#True

'''
4.条件语句(if、else、elif)
'''
n = 5
if n < 3:
    print("n<3")
elif n == 3:
    print("n==3")
else:
    print("n>3")

'''
5.比较运算符
    x!=y
    x is y x和y是同一个对象
    x is not y
    x in y  x是y容器的成员,y是列表[1,2,3,4],1 in y
    x not in y
'''
print("hello" > "Hello")
print("hello" > "hello world")
list1 = [1, 2, 3]
print(1 in list1)
a = 2
b = 1
s1 = "hello"
s2 = "world"
s1, s2 = s2, s1
if a < b and s1 < s2:
    print("right")
elif (a > b and s1 < s2) or (a < b and s1 > s2):
    print("mid")
else:
    print("wrong")

'''
6.断言(assert)
    不满足就抛出异常
'''
value = 4
# assert value>5

'''
7、while
'''
x = 1
sum = 0
while x <= 100:
    x += 1
    sum += x
print(sum)

'''
8、for(用来简化)
'''
n = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
i = 0
while i < 10:
    print(n[i], end=' ')
    i += 1

for i in n:
    print(i, end=' ')
print()

n = range(1, 1000)
for i in n:
    print(i, end=' ')
print()

name = ["bill", "Mike", "John", "Mary"]
for i in range(0, len(name)):
    print(name[i], end=' ')

'''
9.跳出循环
    break 
    continue(不进行下一步,跳回循环继续下一步)
'''
for i in range(0, 15):
    if i < 5:
        continue
    elif i > 10:
        break
    else:
        print(i)

'''
10.循环中的else语句
仅仅在while或for循环正常退出时执行
'''
from random import *
x = 0
while x < 10:
    x += 1
    if x == randint(1, 20):
        print(x)
        break
else:
    print("程序没进入break,正常退出")

'''
11.使用exec和eval函数动态执行Python代码,exec执行语句,eval执行表达式(有返回值)
'''
# 共享执行
exec('i=10')
exec('i*=2')
exec('print(i)')#20
print(i)#20

from random import *
print(randint(1, 20))
exec('print(randint(1,20))')

'''
练习题
'''

#第1题:编写Python程序,实现判断变量x是奇数还是偶数的功能,变量x需要从控制台输入
a=int(input("请输入:"))
if a%2==0:
    print("a为偶数")
else:
    print("a为奇数")

#第2题:使用while循环打印一个菱形,用*打印,菱形的行数需要从控制台输入,行数必须是奇数
line=int(input("请输入菱形的行数(奇数):"))
if line%2 !=0:
    MaxSpaceNum=line//2 #每行的最大空格数
    i=1
    lineSpaceNum=MaxSpaceNum #当前行的空格数
    #输出上三角
    while lineSpaceNum>=0:
        #输出每行星号左侧的空格
        print(" "*lineSpaceNum,end='')
        #输出每行的星号
        print("*"*(2*i-1))
        lineSpaceNum-=1
        i+=1
    # 输出下三角
    i-=2
    lineSpaceNum+=2
    while lineSpaceNum<=MaxSpaceNum:
        print(" "*lineSpaceNum,end='')
        print('*'*(2*i-1))
        lineSpaceNum+=1
        i-=1
else:
    print("行数必须是奇数!")

#第3题:利用python语言中的eval函数编写一个控制台的计算器
while True:
    str1=input("calc:")
    if str1=="exit":
        break
    print(str1,"=",eval(str1))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值