以下程序在字符串中使用{0},我不确定它是如何工作的,它出现在一个关于Python迭代的在线教程中,我似乎找不到任何解释它的地方。
import random
number = random.randint(1, 1000)
guesses = 0
print("I'm thinking of a number between 1 and 1000.")
while True:
guess = int(input("\nWhat do you think it is? "))
guesses += 1
if guess > number:
print("{0} is too high.".format(guess))
elif guess < number:
print("{0} is too low.".format(guess))
else:
break
print("\nCongratulations, you got it in {0} guesses!\n".format(guesses))
谢谢!
答案 0 :(得分:33)
它是格式化方法的一个指标,您希望它被格式的第一个(索引零)参数替换。 (例如"2 + 2 = {0}".format(4)
)
答案 1 :(得分:14)
http://docs.python.org/release/3.1.3/library/stdtypes.html#str.format
执行字符串格式化操作。 format_string参数可以 包含由大括号{}分隔的文字文本或替换字段。 每个替换字段都包含a的数字索引 位置参数或关键字参数的名称。返回一个副本 format_string,其中每个替换字段都替换为 相应参数的字符串值。
答案 2 :(得分:12)
多次放置相同的arg是一件好事
print("When you multiply {0} and {1} or {0} and {2}, the result is {0}".format(0,1,2))
这不是很好!!!
答案 3 :(得分:6)
它是一个占位符,将在结果中替换为format
的第一个参数。 {1}
将是第二个参数,依此类推。
有关详细信息,请参阅Format String Syntax。
答案 4 :(得分:4)
这是新的python格式化风格。阅读here。
答案 5 :(得分:0)
year = int(input("Enter the year: "))
if year%4 == 0:
if year%100 == 0:
if year%400 == 0:
print("{0} Year is Leap Year".format(year))
else:
print("{0} Year is Not Leap Year".format(year))
else:
print("{0} Year is Leap Year".format(year))
else:
print("{0} Year is Not Leap Year".format(year))
在这里,我可以使用year
.foramt(year)
参数放在多行中
输出:输入年份:1996 1996年是Le年
和另一个前任:
name = 'sagar'
place = 'hyd'
greet = 'Good'
print("my name is {0}. I am from {1}. Hope everyone doing {2}".format(name,place,greet))
输出:我叫萨加尔。我来自hyd。希望大家都做好 或
print("my name is {0}. I am from {1}. Hope everyone doing {2}".format('Sagar','Hyd','Good'))
输出:我叫萨加尔。我来自hyd。希望大家都做好事