Python基础入门(2):简单函数(input,eval,print)与循环结构

写在前面:

笔者是来自西部某非著名高校的一名Python初学者,现本着知识共享,资源共享的原则将我的个人笔记分享在此,本系列博客是我对Python学习的一系列知识和方法的汇总,同时希望能为后来者提供一份较为全面详细的Python入门资料参考

注:本笔记内引用了C站内部很多优秀博客内容,并在此基础上进行了带有个人理解的二次加工,如有侵权请联系笔者删改。
 

第一部分:简单函数

Ⅰ输入:input()函数

函数格式:input([提示字符串])

功能: 程序执行后等待用户输入,从键盘读入一行字符串后按回车键即可。 该函数返回值的默认类型为字符串。其他类型数据的输入,可以使用类型转换函数

例如:

函数int()的是将括号内的数据类型转换为整数

float()函数可以将括号内的数据转换为浮点型

Ⅱeval()函数

eval()函数的参数是字符串,该函数的作用是将括号内的字符串作为一个表达式进行计算,并将计算结果作为函数的值。

例如,eval('3+4')的结果为7,如果有一个字符串变量x="3.14161010",则eval(x)的结果是314.16。

eval()和input()函数配合起来可以实现从键盘输入一个算式并计算算式的结果

例如,语句 y=eval(input())执行后,如果从键盘输入 3+4,则变量y的结果是7。

使用input函数输入复数:

1.a=eval(input())

 3+4j

>>> type(a)

 <class 'complex'>

2.complex(input())

3+4j

(3+4j)

Ⅲ输出语句

print(表达式清单, sep=' ', end='\n')

sep:分隔符,默认空格

end:结尾符,默认换行

在非默认条件下,sep与end 后面的” ”里面的内容是可以手动更改的

例如:

name=input("请输入你的名字:")
请输入你的名字:妞妞
print(name,"祝你生日快乐","天天开心",sep=",",end="!")
妞妞,祝你生日快乐,天天开心!

本例中就是用 ,替代了原本各个字符串在输出结果时之间的空格

用 ! 替代了结尾的默认换行符 \n

格式输出:

print('%6.2f'%(123.123456)) #总共6位含小数点,会自动四舍五入到精确到小数点后两位

结果为:123.12

%a.bf:a表示浮点数的打印长度(后面不够的用空格代替),b表示浮点数小数点后面的精度

去掉数据间的空格:

a=1;b=2;c=3 print(a,b,c) #显示结果的数据间有空格

①:print(str(a)+str(b)+str(c)) #str()将整数、实数等转换为字符串, + 将它们连接起来

②:print("%d%d%d"%(a,b,c))

例子:

print("数学%d 语文%d 计算机%d" % (97,98,99))

print("%e %e %e"%(1.1,2.5,3.6))

print("%5.2f %5.3f %6.7f"%(1.1,2.5,3.6))

%d表示该位置显示一个整数

%f表示该位置显示实数

%s表示该位置显示字符串

第二部分:循环结构

Ⅰ.顺序结构:

按语句出现的先后顺序依次执行

python中同一级别(缩进量相同的)的语句从上到下顺序执行

Ⅱ分支结构:

表示条件成立时如何处理

①单分支

如:求x的绝对值

程序写为:

x=float(input("input:")) 
if(x<0):
x=-x print(x)

模板:

"如果"在Python中的表示方法:

if 条件:

   语句块 #语句块缩进对齐

其他语句

②双分支:(计算分段函数的值)

计算分段函数的例子:

x=float(input("Please input x:"))
if x<=2.5:
   y=x*x+1
else:
    y=x*x-1
print("y=",y)

③多分支:

如:将百分制转化为5分制

n=int(input("分数转换,请输入n:"))
if n>=90:
    y=5
elif n>=80:
    y=4
elif n>=70:
    y=3
elif n>=60:
    y=2
else:
    y=1
print(n,"转化为5分制为:",y)

模板:

if <条件>:

   <if块>

elif<条件>

    <elif块>

....

else:

    <else块>

例子:判断闰年

#①多分支
a=int(input("请输入您想查询的年份:"))
if a%4==0 and a%100!=0:
    print("闰年") 
elif a%400==0:
    print("闰年")
else:
    print("不是闰年")
 
#针对①的改进(代码逻辑性增强了)
year=int(input('输入年份 ') )
if year%400==0: 
    r='润年'
elif year%4==0  and year%100!=0:
    r='闰年'
else:  
    r='不是闰年'print(r)

#②双分支
year=int(input(‘输入年份 ’) ) 
if (year%4==0  and year%100!=0) or (year%400==0):
    r='闰年'
else: 
    r='不是闰年'
print(r)

#③单分支
year=int(input(‘输入年份 ’) )
r='不是闰年'
if (year%4==0  and year%100!=0) or (year%400==0):
    r='闰年'print(r)

Ⅲ.循环结构:

循环就是让一段程序多次执行

①for循环

格式

for i in range(begin, end+1 , step) : #冒号

     <循环体> #缩进

实例:

1.显示1~n之间的整数

a=int(input("请输入您中意的n值:"))
for i in range(1,a+1,1):
    print(i,end=' ')

2.计算1+2+…+n

n=int(input("请输入您中意的n值:"))
sum=0
for i in range(1,n+1,1):
    sum=sum+i
print("总和为:",sum)

3.计算1²+2+…+n²

n=int(input("请输入您中意的n值:"))
sum=0
for i in range(1,n+1,1):
    sum=sum+i**2
print("总和为:",sum)

4.计算1+1/2+…+1/n

n=int(input("请输入您中意的n值:"))
sum=0
for i in range(1,n+1,1):
    sum=sum+1/i
print("结果为:",sum)

5.计算1-1/2+1/3-1/4….1/n

n=int(input("请输入您中意的n值:"))
sum=0
for i in range(1,n+1,1):
    sum=sum+1/i*(-1)**(i+1)
print("结果为:",sum)

range的用法:

#第一种:
for i in range(1,10,1):
    print(i,end=" ")
#结果:
1 2 3 4 5 6 7 8 9

#第二种:
for k in range(1,5):#无步幅,则默认步幅为1
    print(k,end=" ")
#结果:
1 2 3 4

#第三种:
for j in range(1,10,2):
    print(j,end=' ')
#结果:
1 3 5 7 9

#第四种:
for l in range(5): #无开始项和步幅,默认开始项为0,步幅为1
    print(l,end=' ')
#结果:
0 1 2 3 4

#步幅可以为负数

②while循环

例子:计算1+2+…+n

n=int(input("input:"))
i=1
sum=0
while i<=n:
    sum=sum+i
     i=i+1
print(sum)

格式:

while <条件>:

         <循环体>

③循环中的特殊语句continue和break

首先来看两个例子:

#例一:求输入数据的和,直到输入end
sum=0
while(True):
   s=input("请输入:")
   if s=="end":
       break
   a=eval(s)
   sum=sum+a
print(sum)
#例二:除法运算
print("本程序完成两个实数的除法运算")
while True:
    a=float(input("输入第一个实数:"))
    b=float(input("输入第二个实数:"))
    if b==0:
        print("除数不能为零,重新输入")
        continue  #continue后返回到循环的开始处,即a=float()这段
    c=a/b
    print("a/b=",c)
    strl=input("继续吗(Y/N)?")
    if strl=='N' or strl=='n':
        break
print("程序结束")

简单来说:

break用于结束整个循环

coutinue用于结束当前循环

分别叙述:

1.break:我们写代码时有时候想让它结束整个循环,除了条件达到False结束,我们可以设定一个条件,当他达到这个条件时,结束整个循环。break用于完全跳出循环,执行循环体后面的语句。

while True:
    s=input("随便输入点什么:")
    if s=="quit":
        break#break后直接跳出循环运行输出 print('完')
    print("你输入的字符串的长度是{}".format(len(s)))
print('完')

2.continue:在代码中它的作用是跳出当前的循环,然后再继续后面的循环,也就是只结束一次循环。

while True:
    s = input('随便输入点什么:')

    if len(s) < 3:
        print('太短了,请输入三个字以上字符的内容。')
        continue
#本例中continue运行结束后重新回到该循环体开始继续循环

    print('你输入的内容是:{},长度是{}'.format(s,len(s)))

以上即为本篇文章全部内容

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拉普拉斯小妖精

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值