Python基础

本文介绍了Python编程中局部变量和全局变量的概念,通过示例解释了如何在函数内部定义全局变量以避免NameError。同时,文章讨论了字符串与数字计算时需要注意的类型转换问题,以及字符串格式化的两种方法,包括传统的百分号占位符和f-string。通过这些例子,读者可以更好地理解和应用Python中的变量作用域和字符串操作。
摘要由CSDN通过智能技术生成

python 每日一练

局部变量和全局变量

字符串与数字计算

字符串格式化

局部变量和全局变量
如下代码的最后一行,会报错说NameError: name ‘c’ is not defined
怎样修复代码,让代码不报错,并且输出数值1?
def foo():
c = 1
return c
foo()
print©
提示:
• 函数内的c是局部变量,不能直接被外部访问的
• 可以将函数内的c,声明成全局变量,在外部即可访问
答案
def foo():
global c
c = 1
return c
foo()
print©

字符串与数字计算
解释:
• 加上global c,会将变量c的生效范围变成全局作用域
• print©的这个c,访问的是全局作用域的c,所以不报错了
字符串与数字计算
如下代码会报错,你知道为什么吗?怎么修复?
age = input("What’s your age? ")
age_last_year = age - 1
print(“Last year you were %s.” % age_last_year)
答案
age = input("What’s your age? ")
age_last_year = int(age) - 1
print(“Last year you were %s.” % age_last_year)

字符串格式化
解释:
• input函数使得用户可以提供自己的输入给变量
• input函数每次都会返回一个str类型字符串
• 如果想实现字符串和数字的计算,得把字符串转换成数字,使用int(变量)即可
字符串格式化
如下代码让用户输入name和age,然后拼接字符串
但是代码会报错 TypeError
你知道为什么吗?怎么修复?有另一种办法吗?
name = input("Enter name: ")
age = input("Enter age: ")
print(“Your name is %s and your age is %s” % name, age)
答案
name = input("Enter name: ")
age = input(“Enter age: “)
print(“Your name is %s and your age is %s” % (name, age))
print(f"Your name is {name} and your age is {age}”)
解释:
• 每个%占位符,在后面的%需要一个变量对应起来,如果多于一个%占位符,后面的%
之后需要跟一个元组tuple包含多个变量,所以需要用(name, age)这个元组
• f-string是第二种好用的格式化方式,形如f"Your name is {name}”,在字符串
中可以用{变量名}的方式格式化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

python伴你学

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

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

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

打赏作者

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

抵扣说明:

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

余额充值