在python中使用raw_input中的%r是否可行?
对于背景,我正在研究Zed Shaw的练习12.(很棒的资源!课程非常有用,节奏很好.)
我正在玩额外的功劳,试图让raw_input重复我输入的内容.我知道我可以用print语句完成同样的事情,但我很好奇我是否可以在raw_input中完成它.
我输入的代码是:
from sys import argv
script, firstname, lastname = argv
age = raw_input("Hello %r, what is your age? ") % firstname
print ("Ahh, Mr. %r, you are %r years old.") % (lastname, age)
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
Traceback (most recent call last):
File "ex13a.py", line 5, in <module>
age = raw_input("Hello %r, what is your age? ") % firstname
TypeError: not all arguments converted during string formatting
Run Code Online (Sandbox Code Playgroud)
提前致谢!
我是python的新手,我正在尝试使用raw_input和函数为程序创建一个命令.由于某种原因,它一直没有奏效.这是我一直在测试的代码:
raw_input()
def test():
print "hi, this will be amazing if it works"
Run Code Online (Sandbox Code Playgroud) 只是尝试编写一个程序,将用户输入并将其添加到列表'数字':
print "Going to test my knowledge here"
print "Enter a number between 1 and 20:"
i = raw_input('>> ')
numbers = []
while 1 <= i <= 20 :
print "Ok adding %d to numbers set: " % i
numbers.append(i)
print "Okay the numbers set is now: " , numbers
Run Code Online (Sandbox Code Playgroud)
但是,当我执行程序时,它只运行到raw_input()
Going to test my knowledge here
Enter a number between 1 and 20:
>>> 4
Run Code Online (Sandbox Code Playgroud)
我在这里缺少一些基本规则吗?
当我在通过 RDP 登录时尝试从lLastX, 和结构lLastY成员更新我的鼠标位置RAWMOUSE时,我得到了一些非常奇数的数字(例如两者都大于 30,000)。我在 Windows 7、8、8.1 和 10 上注意到了这种行为。
usFlags 成员返回 的值MOUSE_MOVE_ABSOLUTE | MOUSE_VIRTUAL_DESKTOP。关于MOUSE_MOVE_ABSOLUTE,我在我的代码中处理绝对定位和相对定位。但是,虚拟桌面标志让我有点困惑,因为我认为该标志用于多显示器设置。我有一种感觉,这与那面旗帜和我得到的奇怪数字有关。不幸的是,我真的不知道如何在没有参考点的情况下调整值,我什至不知道如何获得参考点。
当我在本地运行代码时,一切正常。
那么有没有人知道为什么 RDP + 原始输入会给我这样混乱的鼠标 lastx/lasty 值?如果是这样,有没有办法将它们转换为更合理的值?
class cga(object):
''''''
def __int__(self,i,o):
''''''
self.i = i
self.o = o
def get(self):
''''''
self.i = []
c = raw_input("How many courses you have enrolled in this semester?:")
cout = 0
while cout < c:
n = raw_input("plz enter your course code:")
w = raw_input("plz enter your course weight:")
g = raw_input("plz enter your course grade:")
cout += 1
self.i.append([n,w,g])
if __name__ == "__main__":
test = cga()
test.get()
Run Code Online (Sandbox Code Playgroud)
我的问题是如果我输入5,当程序询问我注册了多少课程.循环不会停止,程序将继续询问输入课程代码的重量等级.我调试时显示程序有cout = 6,但是它与c进行比较而while循环不会停止.
我注意到没有文档等效于WM原始输入的WM_MOUSEHWHEEL,但我收到WM_INPUT消息,用于水平滚轮点击.在我开始重新发明轮子(愚蠢的双关语)之前,有没有人已经编目过这样的消息?
我正在编写一个程序,要求用户输入包含重音的输入.测试用户输入字符串以查看它是否与程序中声明的字符串匹配.如下所示,我的代码不起作用:
# -*- coding: utf-8 -*-
testList = ['má']
myInput = raw_input('enter something here: ')
print myInput, repr(myInput)
print testList[0], repr(testList[0])
print myInput in testList
Run Code Online (Sandbox Code Playgroud)
enter something here: má
m?° 'm\xe2\x88\x9a\xc2\xb0'
má 'm\xc3\xa1'
False
Run Code Online (Sandbox Code Playgroud)
enter something here: má
má u'm\xe1'
má 'm\xc3\xa1'
Warning (from warnings module):
File "/Users/ryanculkin/Desktop/delete.py", line 8
print myInput in testList
UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
False
Run Code Online (Sandbox Code Playgroud)
在比较两个字符串时,如何让我的代码打印出True?
另外,我注意到在同一输入上运行此代码的结果是不同的,这取决于我是使用eclipse还是IDLE.为什么是这样?我的最终目标是将我的程序放在网上; 有什么我需要注意的,因为结果似乎是如此不稳定吗?
在下面的代码中,我试图使用python脚本创建一个"更多"命令(unix),方法是将文件读入列表并一次打印10行,然后询问用户是否要打印下10行(打印更多. ).问题是raw_input一次又一次地要求输入,如果我给'y'或'Y'作为输入并且不继续while循环并且如果我给任何其他输入while循环制动.我的代码可能不是最好的学习python.
import sys
import string
lines = open('/Users/abc/testfile.txt').readlines()
chunk = 10
start = 0
while 1:
block = lines[start:chunk]
for i in block:
print i
if raw_input('Print More..') not in ['y', 'Y']:
break
start = start + chunk
Run Code Online (Sandbox Code Playgroud)
我得到的输出代码是: -
--
10 lines from file
Print More..y
Print More..y
Print More..y
Print More..a
Run Code Online (Sandbox Code Playgroud) 这是我的代码:
Adherent = "a person who follows or upholds a leader, cause, etc.; supporter; follower."
word=raw_input("Enter a word: ")
print word
Run Code Online (Sandbox Code Playgroud)
当我运行此代码并输入Adherent时,会生成Adherent一词.我如何才能将Adherent的定义改为弹出?
所以,我最近开始学习python,我在raw_input()部分.
所以当我尝试不同的东西时,我犯了一个错误(至少这是我现在的想法).有人可以解释两个陈述之间有什么区别吗?
var1 = int(raw_input())
var1 = int((raw_input())
我知道第一个等待来自用户的输入并将其分配给变量,var1但在第二种情况下,这是我得到的输出.
>>> x = int((raw_input()) 按Enter键,它只显示省略号并等待用户输入.
... 12 十二是我的输入,然后我得到以下错误.
File "<stdin>", line 2
12
^
SyntaxError: invalid syntax
我知道它清楚地说这是一个语法错误,但它不应该接受这个声明吗?为什么要等输入?
谢谢.
Python版本:2.7操作系统:Windows
raw-input ×10
python ×8
while-loop ×3
c++ ×1
comparison ×1
debugging ×1
diacritics ×1
function ×1
python-2.7 ×1
rdp ×1
unicode ×1
variables ×1
windows ×1